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 1BD09C71136 for ; Thu, 12 Jun 2025 18:15:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9A07B6B0093; Thu, 12 Jun 2025 14:15:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9507F6B009C; Thu, 12 Jun 2025 14:15:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8185E6B009D; Thu, 12 Jun 2025 14:15:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 5EF806B0093 for ; Thu, 12 Jun 2025 14:15:09 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id D209C1D76AE for ; Thu, 12 Jun 2025 18:15:08 +0000 (UTC) X-FDA: 83547550296.14.B563BCA Received: from mail-yb1-f172.google.com (mail-yb1-f172.google.com [209.85.219.172]) by imf09.hostedemail.com (Postfix) with ESMTP id F33AB14000D for ; Thu, 12 Jun 2025 18:15:06 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ALi0IkWl; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of bijan311@gmail.com designates 209.85.219.172 as permitted sender) smtp.mailfrom=bijan311@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749752107; a=rsa-sha256; cv=none; b=Ut8vvNqSxfOFY/z7YcbhaBsKGfOGHs7sBfab1MPf0GETnGzxmW6l4qGYVq5hgkcaU2Gvy7 55dwvqaxa6npZnKykUK53H9/Pr+AE4Uoi/ooKsScmImDhoOPsXQvzMXcXUfTUpUhAY1GfQ nLw0UZvtYGsXQC2M2sL/TFpMYGA9XCg= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ALi0IkWl; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of bijan311@gmail.com designates 209.85.219.172 as permitted sender) smtp.mailfrom=bijan311@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749752107; 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=V++6cv3qI3iZESOVkUblHQI5RcqouiBvkHuiKma2hsk=; b=Xn6M88SsB09w2j/+R0k2v1tjU9iPS5j7U6kUMpQi5SCbXwMHAQGNQ4f7uu3ssgFzzxtrrl WZZT7z7NM/OJV97qb1UuoT90QzBSep1CkH/P9ddDDr4qFHGQYa2iSZcMzGXurphegM4RA0 bk8+4kA/9BrQMhqHQ9mSn/sDJVCUih4= Received: by mail-yb1-f172.google.com with SMTP id 3f1490d57ef6-e7db6aaef22so1024521276.0 for ; Thu, 12 Jun 2025 11:15:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749752106; x=1750356906; 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=V++6cv3qI3iZESOVkUblHQI5RcqouiBvkHuiKma2hsk=; b=ALi0IkWlESnzw9kt5G/HSReZguvrmQGEHT8QfeN5TR6rT4GSLr7YbB+aNISaq28iKL P+fsKG7SH6VC3Wj3blL8zJMav5y2YpLZkcoQN5DgUvMOgbt+dvHH0F6dAkP4eHgpbBWC I57Mi6qB96FShHpaWLnPKXMVp6uCmHeBZvtUf3kkzQ1GoyYxNWBvV1VMsYUbTOrQ5Nt0 byICU5A43s+lDcaRvKRI3C6WdwR3xrvQT7htkAKbMj2A2JRtOG5YokbW+Wt3My2mn2a/ neptVVOpXu/PLlhpjh/IFGhv0hJkjE/RyvKSB61OSKF/NsiQ1HYpFJw9Hdm8yVPaQOsy vo8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749752106; x=1750356906; 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=V++6cv3qI3iZESOVkUblHQI5RcqouiBvkHuiKma2hsk=; b=Wupx9KU8DTT2jPVaiqvHY1yPsX0EK5RkYOttCy4gTPJWF7jkntBjaN/S5SAKVWk7TB HlpkxTGT7oAjVxzxEg/Jh4uC8s8g7KOXl4k/z6A7hCNStsLkJBhKe4F4zV9Rd7zvZmo0 2WXN5SILcGee4KUUSNoQjZW6kHabA+MqY+h7iwMJHa5NOoJHSNNo+4X+hs8Iydwht7Ep xK3IlwYXNZRIFp9B1BgdZSnmquygaKRXir0V5nYCqk8mOU8CPb5lq5ayF++lccb8Mdet hpD839bm2mcehWl3tXDXSxo8G3OU5upkvjRN2BIAJ3bvNkEsyBB7Rkn+Kbyg1BKvkpPF CV3w== X-Forwarded-Encrypted: i=1; AJvYcCXFp2iEiiLK4buo33IIyiKpBjid9IZ16/aeARykjMkhLS6ssiwl1Af+seaSgV3qbC9dNn7I/bG3VA==@kvack.org X-Gm-Message-State: AOJu0YwyaeVSujG5P1A3KQBTDWYFQ+rc3VEWiK6BiWlw2qkL8W/qR0ad udMWaU7sADqUKGjqj0rm+hXUFIFxVdjD4qFYVe9lnVchxfpDr0yd+hyp X-Gm-Gg: ASbGncvAI/8/uy5gG2BeGksMuBhggSYNuug70y2nIhS+ZQieoUflU1HDckAR2BtiWie u+NRpwExw+cAtEaYXVEvf/pM69ck+q9zxbmRVey7146up5Yxh+elsQwhyOjg+UzKYeHo9FxBYz7 y4kF7+6dWCCARdd5ubtJdBdHk/49jNZfgfh0FRZefO5vEKAUFiTeJX5H5fk3L/EWFpaNKGy4CjX m6Fhu+ga7waQW2QGGd2XuCjmGNdV47y1lb2NmZdu8j3Eu2cEVrRN/bC6wZDwWtDV7g9Vgs818FT /98zFL3NMiTcPf5L2oI6dIGPa65T/1Y24xNN6MrMYhZJbnKLOZogb5055/faNSFL3aAfo/Pltmm Hozvahy4= X-Google-Smtp-Source: AGHT+IHBLjOPvosv/hB5QLaCCYrNVuZy979I3J7L41vsNM7eevjRMEzQ+OyB6twZbnVhhLkQ5/HufA== X-Received: by 2002:a05:6902:200f:b0:e81:32c9:f9c7 with SMTP id 3f1490d57ef6-e820b64cc40mr6125353276.5.1749752105996; Thu, 12 Jun 2025 11:15:05 -0700 (PDT) Received: from bijan-laptop.attlocal.net ([2600:1700:680e:c000:dd1b:d4ae:15de:11db]) by smtp.gmail.com with ESMTPSA id 3f1490d57ef6-e820e312452sm592480276.40.2025.06.12.11.15.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 11:15:05 -0700 (PDT) From: Bijan Tabatabai To: damon@lists.linux.com, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Cc: sj@kernel.org, akpm@linux-foundation.org, corbet@lwn.net, david@redhat.com, ziy@nvidia.com, matthew.brost@intel.com, joshua.hahnjy@gmail.com, rakie.kim@sk.com, byungchul@sk.com, gourry@gourry.net, ying.huang@linux.alibaba.com, apopple@nvidia.com, bijantabatab@micron.com, venkataravis@micron.com, emirakhur@micron.com, ajayjoshi@micron.com, vtavarespetr@micron.com Subject: [RFC PATCH 1/4] mm/mempolicy: Expose policy_nodemask() in include/linux/mempolicy.h Date: Thu, 12 Jun 2025 13:13:27 -0500 Message-ID: <20250612181330.31236-2-bijan311@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250612181330.31236-1-bijan311@gmail.com> References: <20250612181330.31236-1-bijan311@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam01 X-Stat-Signature: 7a9huiiyfrtg4rpwg1gahem11jdn1aiz X-Rspamd-Queue-Id: F33AB14000D X-Rspam-User: X-HE-Tag: 1749752106-639798 X-HE-Meta: U2FsdGVkX19Lu7ZWe0ZHuBP6+zy9C9zve0rWhy1oeZNp3PXt17YaDRFIcTfc+ThJF/gJRCnzMBR8XLYiKpFTk7IlM6oYx6OgwXsgbcIuR8rVy4OFGeBFnh6F9f9ss9MYcnZvtFDlJ45tlX5wxH9Myn7AYfZvkqZZ2i5kRz3TWu4SyxpRz6oa/KUX57LjFOas9ESnNnAy9V3pjSsVNrwIXrFo3gQ9hN1GThmgZ/7FwbZ9lqcLUCzy8D0vb+wTFZ7cXnneRqjAV3i+V8zD+5zx3s20bI+W2g8MyZTnu/hHq8KuDlpiRJXHk2rDOg4MlFdtYUEHtfQuWOUc5oqlCXrSejkJmUSdsCoQEqehFCRgX0T4f4nidTNipxmlWu2PCZt86lryCnYLup5DqF+M3dryLG4cqZjH7fZP1hBk3DCls5bVZT2nEiYUxJl21AidHwOkdvWmKNc1nuRtXoH2yDOZ+WIF/fy160K+2dwl+gSoc/wWWR+JaxM7RaTK76nVDvPUkvNXLVWCIa6JZyOy7FxBybgpt9RLFLpNVLy7elr9yAanu3x8YkR4WmGI8aega2sqO0hJmC2y6+3ZdyMa9yEHXL8VA2vJP/LoBx0KGkVj1rTT3IOvIL5OBlJ8gXSzEEZbQ+lWAHp61yTNm8OWSSJens4bXFsBCWL24kyP3FtVywsvrnvCjAfBwHOoDifV4dSbHU4cXQMHaLqb6+8adow3be41z2JmnWET0U5ckcXgtc1ZOfadhYXG8ImCsOrb6sNioDEQMHNmiEUm3ri7HGlg+NrXugAiV0e9qAZnerrBFtkr3oKNkI+7mk/ZgxkWVf9EXU0tq1yvaY4RKw2RZ0Nx9hrHkCWX3YZbbkkyfbNwOF8mSWjB64Yq/vtINeFoJoqOPurL9Y3i9KfDLgm/m7+nD1M+VMNFhA2KC73O+xRvPjSiS7xCw1/sRAEDDToij8jeZwZJtNOoGhNAGzSwty+ AVOfmIXT FEhooxZD27+kr1iNDQ7SBNOgqyLJlMpkv92+hTH018MZYGw2nme1XlKSOucFF1mfXeFTX0J7R4AnAa0nXe0cATOjPBnY4m+PXYOpUa6DZ3Hb1jixVGalJnf3W7Xcye4aPG7wJ8s//HXO3I0BAQ7O82rJD050wQoBcD2tlgiI3nBDftZLgZVIvX2VSqKeN4Q45iJbgQH8KdaHPtgq1wsTn1hn1PhzCz9cvbni2DcJF9Fi1LNPt4QukVHvEP/42O8PnDtmyBp/TQC1++t52oaD+Tsa3C3ZQD69Lt84Y0I+O/HIbXemAqpRhLealwLMzY9co75mZV9wtnuDvhUWlI/1cNs27Qbt+9gZXZz88kpZvUJL4eq2UOOJm5x4thhknU5zk7pB1pA1IomOnMvHJErV2FCaeWw4IJ7Z/5Lbm/lyRT5GeKCvJI9EZZMfVDMRqAo7Y8aWkT3o2Q1DHAaXjraXMiLqNgpB1vpOzC3iabD8yLZl1lsJa8BOPOk/xLZ6xSFaEmZzmd85BMTg6WnyBNrxANSKomVvoy6LcsVvzf7iOY3xjUCRT2MOUXVM6LSz9DHX9s+H0qNzEb9aPg4xufXp8m6MIwC2wpJ1F0vwvr9e8Xj6bcsUs1Wg6WuEFRw== 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: From: Bijan Tabatabai This patch is to allow DAMON to call policy_nodemask() so it can determine where to place a page for interleaving. Signed-off-by: Bijan Tabatabai --- include/linux/mempolicy.h | 9 +++++++++ mm/mempolicy.c | 4 +--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/include/linux/mempolicy.h b/include/linux/mempolicy.h index 0fe96f3ab3ef..e96bf493ff7a 100644 --- a/include/linux/mempolicy.h +++ b/include/linux/mempolicy.h @@ -133,6 +133,8 @@ struct mempolicy *__get_vma_policy(struct vm_area_struct *vma, struct mempolicy *get_vma_policy(struct vm_area_struct *vma, unsigned long addr, int order, pgoff_t *ilx); bool vma_policy_mof(struct vm_area_struct *vma); +nodemask_t *policy_nodemask(gfp_t gfp, struct mempolicy *pol, + pgoff_t ilx, int *nid); extern void numa_default_policy(void); extern void numa_policy_init(void); @@ -232,6 +234,13 @@ static inline struct mempolicy *get_vma_policy(struct vm_area_struct *vma, return NULL; } +static inline nodemask_t *policy_nodemask(gfp_t gfp, struct mempolicy *pol, + pgoff_t ilx, int *nid) +{ + *nid = NUMA_NO_NODE; + return NULL; +} + static inline int vma_dup_policy(struct vm_area_struct *src, struct vm_area_struct *dst) { diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 3b1dfd08338b..54f539497e20 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -596,8 +596,6 @@ static const struct mempolicy_operations mpol_ops[MPOL_MAX] = { static bool migrate_folio_add(struct folio *folio, struct list_head *foliolist, unsigned long flags); -static nodemask_t *policy_nodemask(gfp_t gfp, struct mempolicy *pol, - pgoff_t ilx, int *nid); static bool strictly_unmovable(unsigned long flags) { @@ -2195,7 +2193,7 @@ static unsigned int interleave_nid(struct mempolicy *pol, pgoff_t ilx) * Return a nodemask representing a mempolicy for filtering nodes for * page allocation, together with preferred node id (or the input node id). */ -static nodemask_t *policy_nodemask(gfp_t gfp, struct mempolicy *pol, +nodemask_t *policy_nodemask(gfp_t gfp, struct mempolicy *pol, pgoff_t ilx, int *nid) { nodemask_t *nodemask = NULL; -- 2.43.5