From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2BF7C8302F for ; Mon, 30 Jun 2025 23:01:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4EE6D6B009F; Mon, 30 Jun 2025 19:01:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4C6716B00A2; Mon, 30 Jun 2025 19:01:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3DBE56B00AA; Mon, 30 Jun 2025 19:01:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 26D3B6B009F for ; Mon, 30 Jun 2025 19:01:53 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 94305801B3 for ; Mon, 30 Jun 2025 23:01:52 +0000 (UTC) X-FDA: 83613591264.17.131CE5F Received: from mail-yb1-f180.google.com (mail-yb1-f180.google.com [209.85.219.180]) by imf19.hostedemail.com (Postfix) with ESMTP id B506F1A0007 for ; Mon, 30 Jun 2025 23:01:50 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=VJluGx1Y; spf=pass (imf19.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.219.180 as permitted sender) smtp.mailfrom=joshua.hahnjy@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751324510; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=vd/NZyP4j5CIAg7Amb14AGL2U5qa5YAKuUp//LRpLKU=; b=ZnA8RZCEnNi1M43L5e33rf1u2fH0Q2hXyKHmkyqe/zJnRSJBsIZvSMItxVrcWhAO9bFhUC i4ghoICuU0qmz4+S4/ItQJfhZL+RgMQQPkFvmPffNZhWUiCuotcTsEf0Rugg1NR2BmPQY6 9eJnVKYG8CMmEP4mlrQwf4CnpAkOt8I= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751324510; a=rsa-sha256; cv=none; b=tQ7Co1XAk9yX40dHgGHz2dHdz6S8waxVEZavwfo1G5O7PqgfpY5fr3supcVW4rmETncIrz /6S1cS4Zr6a3uqxPg/KkAyIF5SLJr3I6j8eiD8LuqsvtldMbwVL5HhBwsMln/3IxBUJzdB UILQ8bO4yTWd0aWX37jd7UHEBH/BZlQ= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=VJluGx1Y; spf=pass (imf19.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.219.180 as permitted sender) smtp.mailfrom=joshua.hahnjy@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yb1-f180.google.com with SMTP id 3f1490d57ef6-e740a09eae0so4495568276.1 for ; Mon, 30 Jun 2025 16:01:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751324510; x=1751929310; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vd/NZyP4j5CIAg7Amb14AGL2U5qa5YAKuUp//LRpLKU=; b=VJluGx1Yyqg7Wc0BojHmgDxhzAWNhx6ex1c/wBHfh2C+8KSJkoVaUTp6nx1r5TA+e0 BFeZpnBU/P3Bqb/T++ZrftaqQhpazn3g+onrMDTfPlagTfwzoYqd6AMrvxGi4jM/0wv2 iZdKBY0aza+62y6hh++FpaFIzUz05v/URjg1eeTjMAR+9mgekyu7S3IMz6TPbvr0kXUx HwOHZ0BWej23O280zjTCfaNJTxZAqSnyi1m1cD21Up5tGBDpFKVTEA6c6lmWD/doQUXS zzk7BbH164JjfXdpCd0vtQdQ1BLuPN4iLlVLnjqj/VZSSjQdIJ3U9YYpsiYEe0ZFdx93 MnTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751324510; x=1751929310; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vd/NZyP4j5CIAg7Amb14AGL2U5qa5YAKuUp//LRpLKU=; b=MQ6tlQeLJSiQefJzOgizeqXi35xhz3DWn3xMoeNGRq1weX8NWG/8zDdfIUIA4Hw9gf iRcr7TOkSr4dXqkJRC8xTKVwyXakHM+ywio9xsW8fBbXOKf7AiJg7tMzg1GFAfiDrmrz 2mBWKRo2I+MZnHozNwcAnwplSAQh4jpx03abMY74G2SbcuDRc3yeB90+V50nMsq24QuD q87eH+yctMey7VoXsxinF7pMXj6NR9y0Y5VwFqJxkVlLKA9+ASV/kcttGB5Dqqbz+aQo 8vhZqp3DVjMvxJS1hiHWNaYsbopI3X7fGZJiTiCSw/LKx6iMSgLtYKDPbMf3M5/ejy8+ 134g== X-Forwarded-Encrypted: i=1; AJvYcCW9z4eX+u38Foezf4go5Hdg3WX0DnyLqwH2G6ImJFZopv0AXO801uk/PfWTk4wgBg/ZQeS4qfez2A==@kvack.org X-Gm-Message-State: AOJu0YyFRR8sQjuXIFptuCGkQH+5AjdV7QT5kYmRoRfCXnWYAaXdUlFc Vu5zPWmy7CgsKN9X8yPJQUtAEI+vT1aa4ZzUAL9JzCFEpGoY0FH5dBz2 X-Gm-Gg: ASbGncv4rGWqPoxv6Bjgyeo00GAuHMD6q1g2qxxE4xLzCY2wKiL0QQ4D8Hn4j46yw9A LskpHDbp4tFZuvgLpGGr3oO2s2RM79ZnTEVG6GMaMpAkgD867LfRQgb/TQtJEm23bj5A1kJrllf cwXu4gg0+sTzbeZdlkXhoRmwskrihlj5XqoFn1S1fe9OnR92CjTlgfi0DvbOeQZvkEtjqyQwd3N dH0u3t1N59GQY5NaaIMTpAB2KUd+FBC8uJyP5oz6nsjjILiZOVCfPAEtskhwimKo7qa6tvGDFP6 GegjzvQGf1wqrtYpM8GDV5/C9f95RQ47h5P+IK8QTpZLXTnRvW2GBT8LyjamPw== X-Google-Smtp-Source: AGHT+IFpfRCMEe7rPVfxOs6jnHFhnNRIF9xkxBkqGqTqtf6voR/zjxDyFUksRp8lfHUxGj97L5OKiA== X-Received: by 2002:a05:690c:6601:b0:70d:ecdd:9bd1 with SMTP id 00721157ae682-715171abbc5mr204846657b3.24.1751324509568; Mon, 30 Jun 2025 16:01:49 -0700 (PDT) Received: from localhost ([2a03:2880:25ff:5f::]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71515cc7f10sm17386857b3.114.2025.06.30.16.01.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Jun 2025 16:01:49 -0700 (PDT) From: Joshua Hahn To: Andrew Morton Cc: Kees Bakker , Gregory Price , Alistair Popple , Byungchul Park , David Hildenbrand , Matthew Brost , Rakie Kim , Ying Huang , Zi Yan , linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel-team@meta.com Subject: Re: [PATCH 2/2] mm/mempolicy: Skip extra call to __alloc_pages_bulk in weighted interleave Date: Mon, 30 Jun 2025 16:01:47 -0700 Message-ID: <20250630230147.2280374-1-joshua.hahnjy@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250630153501.64160f386faa541c93344e48@linux-foundation.org> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: B506F1A0007 X-Stat-Signature: sc6n41z193g6xjqf9wm1od4845ribd6n X-HE-Tag: 1751324510-602353 X-HE-Meta: U2FsdGVkX1+2MnXCbCKSfDIkmmuJ3s2pVSMUrRArl08AsPjdakpfZLdCiWw9zcPJ23hDXYkM3nsq5HsaIDcLObUgt3YFgSrA29ZtMUiEDRS+sfNBVZQ3sERNHr3jkL5EgvX0vThl8DT8fSa/UoWNgggDvCt4dVUVTFhoMaYnHJwMb16RUuEg8z/lKqUlv8NpaCeDenXocuiD7lGCh5sQm0CxJSbUGe2SlGdnPUH1sangZ6HETpwx1BKq+WYpcUerNVovy1DE8GiOPbcQKXRtcZ2LJiCXiKHxSh8VmHtJv8C5+OFuziw2MEn0RTdAy6oNDpNna4T3++BIF+qjJqkjgPMrFCnlRuuIJ49hANAfb4A+jRgpSHIm8bANuirdkYlj6DABIiIG82MjdIgjV6pSMPUZUuqDV4yTaS1R4+sG/4+sKVBb5Uzy7GjYto42JxXKXduRJu13nZLlAuweR5OMy2WlqoDs/jyYMQnZ5DL3ezgLeBOLMyyt9B9qafrcMIK5uMPFw9LQ16ZKtMI32PG2ClFH990RLWrtDVku221adEnBJhkznsjQ4PrvDdwepdKrEcr4ZraWWeMaTdYMEYKGDaGIbx49X04f/cou6E91k+NSCTF8quztPKT3U2gA9xRjuz6sqli4lpL2wnXF/XecwIb/qJ3nMN8AamlvHOrvD7pmkx3xUDzY/rYR28Z3ALySQ9sFg9gJdFJISGttOYTcg4iveYneixlgdPtmXdL822lxRCU4RYbAo18CPKhIS+pZxqIFXVvhfRiT2/4Xv6r73wCN3GPTC5CDiZRefZpxcnilw1H/fMX8FQFmsuQvZy5CT1mbC3gYCEz2QyEM5lOiTD24Xw++Y1q7ba0G3Cuzh6u/txS/ZxS5XPwUm8B6A5vee2P1jP/DlylSXyOMdbKnmEt6lhneEu6fdDLQXS75QFD2nE5GRM2BKgv4yHZHMm+djCL54hK0n2TwMUpzIfZ NU24qlXv 4qMkQcm10iKpWt0mNJfr4LgJ8yGwz8lXHwE5eKBmZcdcaVMQ4zfFCj7lY5/gyz8cgHLiNEcfPGbMIWn9Ehe9Ii14+k3wbCCO/GJlVkqO7Z1cWo19vHT3ilGM/gD6BKnwaANiJu5W8e1CkEIExaKck4LTe2RJUbMvaughs3BW5sHjpa7UcYDyeS/cEcrR9q8/9p9tXHvhkcGKF56Pwjp9WXhdYNq5Vid8e509ZmVY+j0C2Vj6hwPoNAm1m0Kn0RSzRCTjIFMGOXK75eyra0fpGP3PqoIT9PP/Si7c8F0tkXI/DwkVQVkmHW7dQ3gHCvMCj2uH/Mk/F7mWKftPiXLOicc+kf0dtDyLDwqy/kfLYUNEjAduCLtufrUzkqHyJ4Gft2YZX87aU0tMOY1QP73l2bljnD0oXYJl4oMYzRmbsL6nTMAJp4NcQFTEryZXufWTaIPw5aYFD1yWj7eVELPujEZ7AY7SwuJYGOtGXrzPVMeW/6slcYiS1rr9AUWBBJmFc0Qc5PN2I35allX89bqhDeVCrqeyUshwBZi0tiY8S1DzgHR5mZbeJY6uT6EEelQGdSk5HEgnah1X1+Gm3FZsbYaTo1g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, 30 Jun 2025 15:35:01 -0700 Andrew Morton wrote: > On Mon, 30 Jun 2025 13:21:14 -0700 Joshua Hahn wrote: > > > > This is a goto into the middle of a for-loop. > > > What do you think is going to happen at the end of that loop? > > > > > > I think (only tested with a small C program) it will go to the start of > > > the loop, do the i++, check i > > Variable i is uninitialized at that point. In the loop it hits several > > > uninitialized variables. > > > > >From what I can see from my code, I think the only the goto statement leads > > to a second iteration of the for loop is if allocation fails. > > But otherwise, it should be ok since we always hit > > > > if (total_allocated == nr_pages) > > break; > > > > within the loop. For the branch that takes the goto, we set > > node_pages = rem_pages, then jump to the label and allocate. > > So nr_allocated = node_pages, and total_allocated = 0 + nr_allocated > > so total_allocated = node_pages > > > > total_allocated == node_pages == rem_pages == nr_pages, so we will break. Phew! > > > > To cover the case where allocation fails, I think we should be breaking > > anyways, so I can definitely add a new check for this. > > I do agree, that goto is a "goto too far". That we can do a thing > doesn't mean we should do it! Haha : -) > > > Even if this is legal C code, it is pretty obscure. > > > > I agree that it not very clean. I did this to reduce the amount of repeated > > code there is. Even if this code works, it could definitely be written > > better to make it more readable and maintainable. As I noted in my second > > response to Gregory, I'm not planning on pursuing this version anymore, > > so if I decide to send a second version, I'll keep this in mind. > > Cool, I'll drop this version from mm-unstable. Sounds good Andrew, thank you always for all of your help! Joshua Sent using hkml (https://github.com/sjp38/hackermail)