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 5C7D1E77188 for ; Fri, 27 Dec 2024 01:59:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CA5066B007B; Thu, 26 Dec 2024 20:59:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C55886B0082; Thu, 26 Dec 2024 20:59:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B1DB86B0083; Thu, 26 Dec 2024 20:59:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 9456A6B007B for ; Thu, 26 Dec 2024 20:59:46 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 434DF1A132D for ; Fri, 27 Dec 2024 01:59:46 +0000 (UTC) X-FDA: 82939080252.09.E3E9EF1 Received: from out30-124.freemail.mail.aliyun.com (out30-124.freemail.mail.aliyun.com [115.124.30.124]) by imf12.hostedemail.com (Postfix) with ESMTP id 8534640008 for ; Fri, 27 Dec 2024 01:59:24 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=lWnXLV3I; spf=pass (imf12.hostedemail.com: domain of ying.huang@linux.alibaba.com designates 115.124.30.124 as permitted sender) smtp.mailfrom=ying.huang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1735264735; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=yg/jG1rpsLEYnYPzqiuf4YxmQ5oFpoPbwk3hphHZGDI=; b=iLypiPk08kUWFDuFlZRb6LbtNXLMeGqqen6TeQyQt25sWbjghZoPe/HTAOk46YLYtgB+yZ brlsV3bBiL/188YYYcjfvyOfL1Qd/0tqFb10HEMHhWxprwTJBkvyZysZDJXF/NU2JYyRvt xf3zi/JJ4wmehbFnX6t0ewQIu0xCU44= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735264735; a=rsa-sha256; cv=none; b=Nsy8PZPBkGgjGg+RucWX9KKoRaiVgZQXihRGRDnxe/rYwBwZl24Q0nUwaW4jCZ8o1H/XRT DEGP+6H0uj+9o0D/DR04iJCIhKNm0yyEBvNMte2Xx73FXWwV3WW8gRLykTtEjCqsTPYRSR V5hrq7+KJ2Pqz1Wv8YNKwIR4skpN4K8= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=lWnXLV3I; spf=pass (imf12.hostedemail.com: domain of ying.huang@linux.alibaba.com designates 115.124.30.124 as permitted sender) smtp.mailfrom=ying.huang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1735264779; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; bh=yg/jG1rpsLEYnYPzqiuf4YxmQ5oFpoPbwk3hphHZGDI=; b=lWnXLV3I4wDvFPdLzou2VDAHHTofpZTFSQOoEu1qGwdevMc9TVWkDU5Sc03BdjQKBG5tenfx2ziOZfSChBJJke2kwwli/qtVDEGH31wNStbOg9wrJ3eehj98rMpaUTwSjqxS9ALXscwuNQlBmNBqP/DyGmr0P+hcwMjWTR6gl14= Received: from DESKTOP-5N7EMDA(mailfrom:ying.huang@linux.alibaba.com fp:SMTPD_---0WMJYFwA_1735264770 cluster:ay36) by smtp.aliyun-inc.com; Fri, 27 Dec 2024 09:59:37 +0800 From: "Huang, Ying" To: Gregory Price Cc: Joshua Hahn , hyeonggon.yoo@sk.com, kernel_team@skhynix.com, "rafael@kernel.org" , "lenb@kernel.org" , "gregkh@linuxfoundation.org" , "akpm@linux-foundation.org" , =?utf-8?B?6rmA7ZmN6recKEtJTSBIT05HR1lVKQ==?= System SW , =?utf-8?B?6rmA65296riwKEtJTSBSQUtJRSk=?= System SW , "dan.j.williams@intel.com" , "Jonathan.Cameron@huawei.com" , "dave.jiang@intel.com" , "horen.chuang@linux.dev" , "hannes@cmpxchg.org" , "linux-kernel@vger.kernel.org" , "linux-acpi@vger.kernel.org" , "linux-mm@kvack.org" , "kernel-team@meta.com" Subject: Re: [External Mail] [RFC PATCH] mm/mempolicy: Weighted interleave auto-tuning In-Reply-To: (Gregory Price's message of "Thu, 26 Dec 2024 11:13:21 -0700") References: <20241225093042.7710-1-joshua.hahnjy@gmail.com> <874j2rp6or.fsf@DESKTOP-5N7EMDA> Date: Fri, 27 Dec 2024 09:59:30 +0800 Message-ID: <87cyhdhon1.fsf@DESKTOP-5N7EMDA> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=ascii X-Rspamd-Queue-Id: 8534640008 X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: rnutp6dpy7t1oq9cds69cdzxt6cwszbw X-HE-Tag: 1735264764-44139 X-HE-Meta: U2FsdGVkX1+vmI/fTfYNvrkhab4P5uBAdikcbpWc5GMOJKHsWKwo3svxR+9nXrRQ2a6sT9tlTeDil9qyPdZX1aytDXuHkaIj3Vdj102s62N82kFAWrO3ZL9CgBBWx5jD1b7tdI6znubz1KeUgSKkUNHIfxHiy7nYurOFVMkKCIS7Rjr3I2nVHp/uYhj5v6F1EUZAxXPmQ65KcoT3ddbmo1WaikUEJ9FAfNLdJESnOnWv2G480apybSL77KzjU+jTVbLIrtX7HvHB6Z1DapGaq7M1HEUBHLyNRbiUVy/MONT2e5+NFTSESFBJbvVYhBDu4ZDHtY/yB7ZJFPcC9ZjCwVNuVtstXGAWoD3iDGY155f3qTevKUYtmPIRAnAH8ZzujgsvsbXc42Ramzb+bZaAEKdMvRERTST8lPO/RSAjRFa8kRu+08/1FgUTBK33EvcmaknHKCwvg/tVkDZ7/jnJ8LIPe+DGDSGCleT6ibXVmNHN21lr4HN0sseIMOJHs7QP1Xp2yWxUKmePKJKHfz6DX79M+WZKPsXGDBWuFIuaHx5ew95G4uIE2bLi5ehtuTL2bJdYQxhEyB3LtiJ5B7JHAYLLOw/QPsb8MYwU0rNi8AKWB8F9M9i6VPphYqEqycX8vu0hC8wKrPaXh6Nwomk5s5hBfMnLX8UNYX3zrY3FC+VA8IlyRWeRykdzo6DRJsozD5S8I1Gw/045hK67KBxRIgjZj+FzFMi3F6wmj4gLei7hg0eVBNH7q1DuKQGoYkfWcmuqrnNGv8a0kUKJ8ni7HbAeFTQOqt3CTYuj5WzOqGIa+ra3KsSaZ+caaV12+z1pKXz+zpiztZoFx96XrDnP61/LTJJyQ+TBIP0VwA6rmb+p/AbAHUH7068Mj2YIq16ZDyv1xZi621fmlWD7U//2+7ls8KWTrWbZ7zBM+qbN3dBn+kljbcNd/jjPWVpFBCHIQCgzFHfq6xBCRqZD+TX 9SSqKJ7D 2C2XvC+QpCoIX4oX7G10y+80tcOrqtxsA1ui/3OfST872iYeAGD+F45GrBlDGESDoYDI19I/Ygn+XaomKcW49fCkalmVyPqKkEDTBImdkF+szqK7GsDS1iqasOongQq6QJOQcc3Uy3tDsldAHTL/kqgHudzywCrb6zosXjvOCoQqD6HgX+ZerHCBZccWw/6B2AnhABGJqOALWvKMlvlUx6spPnmviG8NhN/hA4zqYgQgKEW8v4JVeC44/DAXoKAbEql70Kdu9JSfaujlUji3QcWQnflOTYNdn6s8IpYcJ/Ye0we7fHj0VjPECfk87bpo7YzmQdfOrsX5tjBxW+pBmxjLrwglOpzT7IvVYLvtxp2YEYGFTOtek/1U5Zbjv4yRN7abKhmmiOsHKP7aPlnN8r/kQElJMG9ropY0rKnnP8UdyvhlgI7nloWPTtg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Gregory Price writes: > On Thu, Dec 26, 2024 at 09:35:32AM +0800, Huang, Ying wrote: >> > Having two files for each node (nodeN, defaultN) seems a bit too >> > cluttered for the user perspective. Making the nodeN interfaces serve >> > multiple purposes (i.e. echo -1 into the nodes will output the default >> > value for that node) also seems a bit too complicated as well, in my >> > opinion. Maybe having a file 'weight_tables' that contains a table of >> > default/user/effective weights (as have been used in these conversations) >> > might be useful for the user? (Or maybe just the defaults) >> > >> > Then a workflow for the user may be as such: >> > >> > $ cat /sys/kernel/mm/mempolicy/weighted_interleave/weight_tables >> > default vales: [4,7,2] >> > user values: [-,-,-] >> > effective: [4,7,2] >> >> AFAIK, this breaks the sysfs attribute format rule as follows. >> >> https://docs.kernel.org/filesystems/sysfs.html#attributes >> >> It's hard to use array sysfs attribute here too. Because the node ID >> may be non-consecutive. This makes it hard to read. >> > > Would generally agree. I think essentially a > use_defaults => (0 | 1) > interface is probably the best we can do. > > Setting any node changes use_defaults from 1 => 0 > echoing 1 into use_default clears user_values > > This still allows 0 to be a manual "reset specific node to default" > mechanism for a specific node, and gives us a clean override. The difficulty is that users don't know the default value when they reset a node's weight. We don't have an interface to show them. So, I suggest to disable the functionality: "reset specific node to default". They can still use "echo 1 > use_defaults" to reset all nodes to default. > The only question is a matter of hotplug behavior > > nodes_online: 0,1 > default_values: [5,3] > user_values : [-,-] > > event: node1 is taken offline > default_values: [5,3] <-- nothing happens > > event: node1 comes back online with different bandwidth attribute > default_values: [6,5] <-- reweight as occured silently > > event: user sets a custom value (node1 <= 2) > default_values: [6,5] > user_values: [6,2] <= note, *no reduction* > > event: node1 is taken offline > default_values: [6,5] > user_values: [6,2] <= value still present but not used > > event: node1 comes back online with different bandwidth attribute > default_values: [5,3] <-- default reweight has occurred silently > user_values : [6,2] <-- user responsible for triggering re-weight > > The user has the option of > > echo 1 > /sys/.../weghted_interleave/user_defaults > result > default_values: [5,3] > user_values : [-,-] > or > echo 0 > /sys/.../weighted_interleave/node1 > result > default_values: [5,3] > user_values : [6,3] <= only node1 is updated, no re-weight > > Basically, if the user ever sets any value, we never automatically pull > new values in, and the admin is responsible for triggering a re-weight > (use_default) or manually reweighting *all* nodes - because changing > values implies a change in the bandwidth distribution anyway. > > I think this makes the most sense. --- Best Regards, Huang, Ying