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 43EB7C2BBCA for ; Fri, 28 Jun 2024 09:03:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CACF46B008A; Fri, 28 Jun 2024 05:03:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C5BD36B0099; Fri, 28 Jun 2024 05:03:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B230C6B009B; Fri, 28 Jun 2024 05:03:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9401D6B008A for ; Fri, 28 Jun 2024 05:03:45 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 163011417F7 for ; Fri, 28 Jun 2024 09:03:45 +0000 (UTC) X-FDA: 82279709610.20.1D66663 Received: from fanzine2.igalia.com (fanzine.igalia.com [178.60.130.6]) by imf03.hostedemail.com (Postfix) with ESMTP id 49B1420018 for ; Fri, 28 Jun 2024 09:03:42 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=igalia.com header.s=20170329 header.b=hVMd3Y0K; dmarc=none; spf=pass (imf03.hostedemail.com: domain of tvrtko.ursulin@igalia.com designates 178.60.130.6 as permitted sender) smtp.mailfrom=tvrtko.ursulin@igalia.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719565403; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=H53RlDBEUShmO+hCaBglwMyqvXnVZau+Rudn8CfcNQs=; b=k/OWhsok3YCLH5CpJYW8uVWdU4k6axcs2dgSqzHFb/8eYxZbOWpq6CGG0wTPIneLV4tY1o +GRKNpos0D2rVDZ/zkKS0cz9yjmhumPYbvgIR8lJKq8cvYXa01ckHHMDewCI+7nefu4QEg DKol2WmbCwZhYfqOmXYrhM5h/YYr8P4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719565403; a=rsa-sha256; cv=none; b=OOKXYuGgsGA8IkyaztwfDK0Eq1oy1D9TxEMKOpQCuMpXz5zPkPGC9oGNoZ8BXsgFn3Dqrb Zbi0mr9tQKIaL1+N5OPgrNWRrD5U01L2KUX3wYnk6mDZ7YAQDUyL6bzVWPBuAnnni3Es4S MC+7DYLT6zt9iAYdf9RWNKAP+nL1w94= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=igalia.com header.s=20170329 header.b=hVMd3Y0K; dmarc=none; spf=pass (imf03.hostedemail.com: domain of tvrtko.ursulin@igalia.com designates 178.60.130.6 as permitted sender) smtp.mailfrom=tvrtko.ursulin@igalia.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=H53RlDBEUShmO+hCaBglwMyqvXnVZau+Rudn8CfcNQs=; b=hVMd3Y0KcS9550waREbySIGkEK C19Flw9baZPFxAYpeerLHwGcXCv+bWxk5A1VcnY4PU0WegIgbpzxo1dBSeLvdZ3+f63XltSjgD6KP ifYlhhJe6+M0gLX7PYAZcnPkqd9BENMOtBnVHPbpId7/wPzuKmr+GBVkcOijBAW/K2IVc0QFWLq/A 2KpIbokwrGdCYKe9Gy/6+QBkGIpTZPCeBMQ8LLqxFEkptgenb749DB3c85PZ7nJJhqR8U+lIkbXbD 5Ol/oXEOApPg7OY7IDGYpIkU7RVDUqV+X+ipfLGAv2X3c3UBRx51YqcOAcFX/IuhtLJOVOjMtMSw4 Wt28gbXA==; Received: from [84.69.19.168] (helo=[192.168.0.101]) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_128_GCM:128) (Exim) id 1sN7W7-008Xbz-1E; Fri, 28 Jun 2024 11:03:39 +0200 Message-ID: <03641edd-3975-433e-a8d7-d79cb422dc57@igalia.com> Date: Fri, 28 Jun 2024 10:03:37 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/numa_balancing: Teach mpol_to_str about the balancing mode To: Andrew Morton , Tvrtko Ursulin Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-dev@igalia.com, Huang Ying , Mel Gorman , Peter Zijlstra , Ingo Molnar , Rik van Riel , Johannes Weiner , "Matthew Wilcox (Oracle)" , Dave Hansen , Andi Kleen , Michal Hocko , David Rientjes References: <20240625132605.38428-1-tursulin@igalia.com> <20240627143719.86a92240516e689c2f2d1c09@linux-foundation.org> Content-Language: en-GB From: Tvrtko Ursulin In-Reply-To: <20240627143719.86a92240516e689c2f2d1c09@linux-foundation.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 49B1420018 X-Stat-Signature: 9bf38sdmn7mchkw65rixkuq7xp4eih99 X-Rspam-User: X-HE-Tag: 1719565422-950565 X-HE-Meta: U2FsdGVkX18/LhTiFDoou13+lSg/H8RYhmFSXPTAgXm2aY4LVdCUj63Uev7b60WBvjy++0ep5cEfksuzq90VcMldZb9QmPNauxsGgSEGjb1Nieln3YE7mryToGu9hzqXSonZDLBlbRmWttpepeYbXWAKxMq+T0CYB6eum1EG4q+vLikkDnx3sZ4vj3BpLhU3Nd+yxgwQDHLsOgPG7SU/m74bneBqoJKVzXEkePZcS7v1poUoN2QEBiZrPmJxm55/THevrEhvTzFcwYvUtsXT7I8s+erYk63ITc7tCmVbH+brb2dx8f9gtRlGi6HbqawiYwJpOAj5jdvG11y8umyN43yHA/TqT1l2zFkwBtkqoSvhKvo1n8YoGUCnUvLrAfO3r8/5C1mFLOLrlE7E5xiW8+EjJSNo4lSx6Noi83TPBmPojuKv8+JYH5Ggc8VqpmNNhPKOcbS24U//xK5QI2jHhU6xmtufSHTLCUb5SAYeC5pPD3emaj5l8tuLruRiChghB10F/GVsgKwbopo3Ww7b2zTZk7pqYr82hbGpIutqDlaJ481y3vN9iR/QNuzPMDfQaAe89Izjb+LrgGlNoSWp/fEPoYNRJl9ZFl6CovQ34D5ZvSpsMqhxsevBfQPcJatqknjpPFcJ9id04Xal65MCiPGDiLaY+Uqa3dnNyLlctqU0JxxMUSKHpYnqZHmlVveydGyKzJWJ+cRaoKp0ccv5jVFSOCdR1iAE7tfF/BXtymd9qozG/BgXxJqoXwCD3hfQisUuyd7Xyz6+s8hIw21mKq939SqchHmQaolahS7jHyVDYvNPvxg1mBQmcG7dtvdWmH+AjdjRY9jMXVJmYvR/TmhPsrT/1z7X6NMUCTVOhPsCnLelTwthzLyR1bkV5e+jD24iknzX1moAYofIyOS1uDMptSLe4jfVBP3owH1YB0MRsWY4rfU3IgiEzZZpF8n2Nx6BmkJbOHzh5KhAUge /INbV7Lz JKAjZcdasPrnSQQ4bYXb8CP08BV0EV/dh/8Z68IFTe2a5rrtBM5APb6gkWD6bfSNOF8lVxuUQgBiV3zRQRy+GpGoxkMbXDyruHIDfm6uHAWXFlAHa0sbmsIAl+nU07lHIELyHDrMSmkq9jW+1xo9j1tk1UiiY43txa0G+UcyH1SEmrDR8kDtNMEq5VJuXA3XMDjSHPKah03Zdtv2Zyulh2J5dHOMtSHRL8JRFlR4LZSQax7j2nUCTCfLQ4GwGAmshyIPR2VRYSEa/y7OfHlSbeAV7dEABgKBbL4izEmHGfQfZms616NEWwlnTJYvglMQLgQ6mB9Fb1x/fhtg= 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 27/06/2024 22:37, Andrew Morton wrote: > On Tue, 25 Jun 2024 14:26:05 +0100 Tvrtko Ursulin wrote: > >> From: Tvrtko Ursulin >> >> If a task has had MPOL_F_NUMA_BALANCING set it is useful to show that in >> procfs. Teach the mpol_to_str helper about its existance and while at it >> update the comment to account for "weighted interleave" when suggesting >> a recommended buffer size. >> >> ... >> >> --- a/mm/mempolicy.c >> +++ b/mm/mempolicy.c >> @@ -3293,8 +3293,9 @@ int mpol_parse_str(char *str, struct mempolicy **mpol) >> * @pol: pointer to mempolicy to be formatted >> * >> * Convert @pol into a string. If @buffer is too short, truncate the string. >> - * Recommend a @maxlen of at least 32 for the longest mode, "interleave", the >> - * longest flag, "relative", and to display at least a few node ids. >> + * Recommend a @maxlen of at least 42 for the longest mode, "weighted >> + * interleave", the longest flag, "balancing", and to display at least a few >> + * node ids. >> */ >> void mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol) >> { >> @@ -3331,12 +3332,15 @@ void mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol) >> p += snprintf(p, buffer + maxlen - p, "="); >> >> /* >> - * Currently, the only defined flags are mutually exclusive >> + * The below two flags are mutually exclusive: >> */ >> if (flags & MPOL_F_STATIC_NODES) >> p += snprintf(p, buffer + maxlen - p, "static"); >> else if (flags & MPOL_F_RELATIVE_NODES) >> p += snprintf(p, buffer + maxlen - p, "relative"); >> + >> + if (flags & MPOL_F_NUMA_BALANCING) >> + p += snprintf(p, buffer + maxlen - p, "balancing"); >> } >> >> if (!nodes_empty(nodes)) > > Is it strange to report this via mount options? `static' and > `relative' can be set via mount options but afaict `balancing' cannot? > I guess not... > > Documentation/filesystems/tmpfs.rst appears to be a suitable place to > document this new userspace API please. That was the part I was unsure of - whether it makes sense to allow passing in 'balancing' via tmpfs. I just noticed these few oddities while playing with some new NUMA policies and attempted (badly) to at least fix the fact 'balancing' is not shown in /proc//numa_maps if selected via set_mempolicy/mbind. So I also have a patch to allow 'balancing' to be parsed as tmpfs mount option but did not post it yet. Now that Ying has uncovered problems in this code go deeper we will see how this all develops. Regards, Tvrtko