From nobody Wed Dec 24 01:43:35 2025 Received: from mail-m49198.qiye.163.com (mail-m49198.qiye.163.com [45.254.49.198]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1F15D6775A for ; Tue, 30 Jan 2024 10:49:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.254.49.198 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706611747; cv=none; b=ow5ZMU2ArZEokRptpClpl+ggJV0r+3rLYsSGrOpPHKcrTDsVtUW15p/dOY8JT/JXz3efyTmP9kPxKgj7eaCTiACEWccpUZ3qt+t864zMMvD7cItdpcrSMzVfE0jSzmmHyWkX91yAhb71oJXrz2OZEr8HZWXpXzar2BMzfOk4lTo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706611747; c=relaxed/simple; bh=GZufsPghWkdzEG2h/2SSA0buT7CGeIjQOid70c84efM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=SIGZRuu7KOa/FVFA4R177pqj92Y238hhbSxLOdvd+a5mrEXhHWgX36fVuXNsmRNy1hEz0LDwFxS8I5eYHltcGjxJH/ql0Z3NS+xV5TDZm+/LZ42kvSBEkmGDP7V46mLzWn6lPFRG/CUr/l0Pt1ufFTqDlT4rzWHiKedwNbEM7og= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ustc.edu; spf=pass smtp.mailfrom=ustc.edu; arc=none smtp.client-ip=45.254.49.198 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ustc.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ustc.edu Received: from localhost.localdomain (unknown [61.151.228.147]) by smtp.qiye.163.com (Hmail) with ESMTPA id F0ECB7E013B; Tue, 30 Jan 2024 18:48:41 +0800 (CST) From: Chunsheng Luo To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Chunsheng Luo Subject: [PATCH] mempolicy: add home_node info to mpol_to_str() Date: Tue, 30 Jan 2024 05:48:39 -0500 Message-ID: <20240130104839.10270-1-luochunsheng@ustc.edu> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly tZV1koWUFITzdXWS1ZQUlXWQ8JGhUIEh9ZQVlDHUxNVkMZQk1PGhlIQ0ofS1UTARMWGhIXJBQOD1 lXWRgSC1lBWU1KVUpOSlVJSUNVSk9MWVdZFhoPEhUdFFlBWU9LSFVKTU9JTE5VSktLVUpCS0tZBg ++ X-HM-Tid: 0a8d59fc47ae03a2kunmf0ecb7e013b X-HM-MType: 10 X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6NAw6KAw6LzMOCEpKSygSPzUU Dz0KCQpVSlVKTEtNTUpKTElJT09OVTMWGhIXVRcOFBgTDhUIEx4VHDsOCA8YVR4fDkVZV1kSC1lB WU1KVUpOSlVJSUNVSk9MWVdZCAFZQUlIT0s3Bg++ Content-Type: text/plain; charset="utf-8" There is currently no userspace interface for obtaining home_node, so we have added home_node to the mpol_to_str(). This allows us to obtain the home_node from the /proc/pid/numa_map. Shown below: 7fe356e00000 bind:0-1(1) file=3D/root/test Signed-off-by: Chunsheng Luo --- mm/mempolicy.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 9282be2ae18e..7a8800036f88 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -3033,6 +3033,7 @@ void mpol_to_str(char *buffer, int maxlen, struct mem= policy *pol) nodemask_t nodes =3D NODE_MASK_NONE; unsigned short mode =3D MPOL_DEFAULT; unsigned short flags =3D 0; + int home_node =3D NUMA_NO_NODE; =20 if (pol && pol !=3D &default_policy && !(pol->flags & MPOL_F_MORON)) { mode =3D pol->mode; @@ -3043,9 +3044,10 @@ void mpol_to_str(char *buffer, int maxlen, struct me= mpolicy *pol) case MPOL_DEFAULT: case MPOL_LOCAL: break; - case MPOL_PREFERRED: case MPOL_PREFERRED_MANY: case MPOL_BIND: + home_node =3D pol->home_node; + case MPOL_PREFERRED: case MPOL_INTERLEAVE: nodes =3D pol->nodes; break; @@ -3069,7 +3071,11 @@ void mpol_to_str(char *buffer, int maxlen, struct me= mpolicy *pol) p +=3D snprintf(p, buffer + maxlen - p, "relative"); } =20 - if (!nodes_empty(nodes)) + if (!nodes_empty(nodes)) { p +=3D scnprintf(p, buffer + maxlen - p, ":%*pbl", nodemask_pr_args(&nodes)); + + if (home_node !=3D NUMA_NO_NODE) + p +=3D scnprintf(p, buffer + maxlen - p, "(%d)", home_node); + } } --=20 2.43.0