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 6F7B5C54ED1 for ; Wed, 28 May 2025 02:24:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E77186B0083; Tue, 27 May 2025 22:23:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E27F06B0088; Tue, 27 May 2025 22:23:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D1C516B0089; Tue, 27 May 2025 22:23:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id B1E3E6B0083 for ; Tue, 27 May 2025 22:23:59 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id BA0F7EBA9D for ; Wed, 28 May 2025 02:23:58 +0000 (UTC) X-FDA: 83490721356.16.D82ECA0 Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92]) by imf26.hostedemail.com (Postfix) with ESMTP id 398FD140004 for ; Wed, 28 May 2025 02:23:55 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf26.hostedemail.com: domain of honggyu.kim@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=honggyu.kim@sk.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748399037; 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; bh=ysxGcAZfHUpG5VQFg4qZ0TwcjODWRgRVukrFIddFRlU=; b=nooZeL/oF5BcYpbtgOY0ylXht73waxzHPlV/6bPC7nhAVsBQuXl8CSWgA6F+dAMwL+PIR1 QMoqYxizsMA6dSw90vj0bZVz+vs9USERxJDXAKb3Xs2szTJ82ajtd2kOpMwdls6CnK2Get 5nrN1b1OmHGXKEw+L6N7h2momKESJs8= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf26.hostedemail.com: domain of honggyu.kim@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=honggyu.kim@sk.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748399037; a=rsa-sha256; cv=none; b=hjMECKwPVIL9zXjg00qE/O/sAn04o6Q/Bf2WjqH+1vR9SnWm0Z2kWw68IthGRDH0JFgHvZ wHeuvcV+CkNjTX9aw+NvZZJIrO/cn+cGJZe1RScARTMgw6eybTyEozUwfpXMDXOMzI8upV 0RVBHCJQQHjTdMFsiHrsH91GsJhf+qg= X-AuditID: a67dfc5b-669ff7000002311f-a6-683673baa881 Message-ID: <3ad3bcba-b8b6-4e30-8ad9-adba5761e923@sk.com> Date: Wed, 28 May 2025 11:23:53 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Cc: kernel_team@skhynix.com, Andrew Morton , David Hildenbrand , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Vlastimil Babka , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Jonathan Cameron , Rakie Kim , Harry Yoo , dan.carpenter@linaro.org Subject: Re: [PATCH v3 2/3] mm,memory_hotplug: Implement numa node notifier To: Gregory Price , Oscar Salvador References: <20250502083624.49849-1-osalvador@suse.de> <20250502083624.49849-3-osalvador@suse.de> Content-Language: ko From: Honggyu Kim In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrIIsWRmVeSWpSXmKPExsXC9ZZnoe6uYrMMg0mHuS0m9hhYzFm/hs3i w7xWdouv638xW/y8e5zd4v6yZywWqxZeY7O4vGsOm8W9Nf9ZLc5MK7KY3djH6MDtsXPWXXaP 7rbL7B4tR96yemz6NInd4861PWweJ2b8ZvH4+PQWi8f7fVfZPM4sOMLusfl0tcfnTXIB3FFc NimpOZllqUX6dglcGW3fTzEXPJKs+DBxPWMDY7NIFyMnh4SAiUTH5enMMPa75uksIDavgKXE p3svmEBsFgFViSuHV7NBxAUlTs58AlYjKiAvcf/WDPYuRi4OZoHfTBK/+l+wgySEBbwltjT+ ZQWxRQQ8JTY9OscEUiQk0M8o8XtWI1iCWUBEYnZnG9hmNgE1iSsvJ4Ft4xQwk/iwYBcLRI2Z RNfWLkYIW15i+9s5zCCDJAT62SX+Xd3LCnG2pMTBFTdYJjAKzkJy4SwkO2YhmTULyawFjCyr GIUy88pyEzNzTPQyKvMyK/SS83M3MQIjblntn+gdjJ8uBB9iFOBgVOLh9dhgmiHEmlhWXJl7 iFGCg1lJhLfJ3ixDiDclsbIqtSg/vqg0J7X4EKM0B4uSOK/Rt/IUIYH0xJLU7NTUgtQimCwT B6dUAyNP+r+XEedNOx1mTMuxd7l64HGUnwSfP8u26Il6sf+33l3hcPSO0N0nHQemq/w7ezb9 Vb7mR5Hl182ConSdcxSZZtmkPpvUuiVjcnS0lXCPw/zttSk/NobpXW8ofC/NWK34ySk7OpJX +fCMlZfd3nyoZpTSk9BsMHHZVC4cekThU2L9Efb1pUosxRmJhlrMRcWJAKYMQZG0AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprIIsWRmVeSWpSXmKPExsXCNUNLT3dnsVmGwZwJ1hYTewws5qxfw2bx YV4ru8XX9b+YLX7ePc5ucX/ZMxaLVQuvsVkcnnuS1eLyrjlsFvfW/Ge1ODOtyOLQteesFrMb +xgdeD12zrrL7tHddpndo+XIW1aPTZ8msXvcubaHzePEjN8sHh+f3mLxeL/vKpvHt9seHotf fGDyOLPgCLvH5tPVHp83yQXwRnHZpKTmZJalFunbJXBltH0/xVzwSLLiw8T1jA2MzSJdjJwc EgImEu+ap7OA2LwClhKf7r1gArFZBFQlrhxezQYRF5Q4OfMJWI2ogLzE/Vsz2LsYuTiYBX4z Sfzqf8EOkhAW8JbY0viXFcQWEfCU2PToHBNIkZBAP6PE71mNYAlmARGJ2Z1tzCA2m4CaxJWX k8C2cQqYSXxYsIsFosZMomtrFyOELS+x/e0c5gmMfLOQHDILyahZSFpmIWlZwMiyilEkM68s NzEzx1SvODujMi+zQi85P3cTIzCiltX+mbiD8ctl90OMAhyMSjy8HhtMM4RYE8uKK3MPMUpw MCuJ8DbZm2UI8aYkVlalFuXHF5XmpBYfYpTmYFES5/UKT00QEkhPLEnNTk0tSC2CyTJxcEo1 MAZOa8yYb7Y5SNP8bfiR+P/T4ziFpj5i6dgpnXKaYc/e/vkucyJ+bJ4hKc63X33S64gXO6LD bi4LqZRQSkz5Fdnf5tF72tFkuoiTkbHUPbZDE/UFY+quCZlU+thfFJ1+UPx+rfBF4eLjU5il a/lMtionrRNauWT+pB0fP2ac1nq1i61zyzMjZSWW4oxEQy3mouJEACup9sSkAgAA X-CFilter-Loop: Reflected X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 398FD140004 X-Stat-Signature: kagk69eohf9uqbazic59ekw1s4op6hub X-Rspam-User: X-HE-Tag: 1748399035-752472 X-HE-Meta: U2FsdGVkX19DfZRb6mFoH4Y1ys0i78vkZZ/WXODJZQUI92rUAdMJt7hufj6iCcLwU9bDB3Qtdghsr7qQ4cqXRa1+K8urzxTW7vkpjN5kIT63R7uKBVSFqvLkQKQisSfrFrq76gUJwISVqjDc34m35oX4W52j5lBWyflX66p82E2SXz6XCr5MQcbfDgRmlNpnIl/9shyc39d4B4h96Ql1KVs2jAv3aqbsGsKS7wftmqGoecG5ProGWWBU5HC852jn5PeTkB5/jfnljL5GLiEJSTAl3Kt2sxoRJk30WQUXlmfvwb/BndbqMgpDF/7Ye39dPdnRzt+bylSoMtDfV/W/yczHxcWvEQP4v/mDB3KQ7+cjOlGIhIMI2aAeDTQ1CdRS+HuMW7D/2x7JVi9QQIR7pUNm07YVsW6bYmG8brqQN1toQqPC7V8LrhNN1CaI0r9YIsF+R61qPOvxlgDmbDGwDFDAVwmQlIfNg0muLcHF4BDVW9J/uc8OjcPcSkC65dTd/hlGAh455SqndziSG9WhwnaV4c17Ah2Jhmfu0+SxC1BdV3nsmDSUg1kZtIlPHHv7P2W71MdhCpqLaNU/Kmf6PnX33Y7izB4g32rPQVAx890DH9MtQPD83u3hjmYrWEjGd+jRpPFVseajdGgl9mzFckuUgkXQE+aC9gYxzFTHcST4/Rwj3OAjHrlTlUQsFR6Y0PzXGeXctCnmshz+1TuzvyZzkdn1PZPUa3VauAuvNM0It6DxDqCjiUBOStsnF139WQE5ryfh6smWc2yDQtOYd8TwnucO6o3F+FAZFhlt5zZd2RdfOvDQAReNM2u48PlQFXFAGkp8UX+f55gh6SsjzfwUl5Uvpu5lVexxMfbndS4JA7KvOIMqy/ny6Sj71dRLbvpDgDFh5hgZc0j7I2H5RdyizuDMAL/BWL4NcKZKwL3HfM3pCXOgSuiYBG9jHto0G1DpNIVALIPDQvDPvMn 1vigyLyV ONoFuaCB0eHQmAmufpbtDRLbxdrAoNXRNvZ+I9qDmdB4hH61IN3YdL2tRF3s/yzbAdMdWsMueQzr8Cx6wYq0rCv/wh4BI/ELpXifpJDwDnBq9IpBhZ+nDWX+PkLjbm9QCQI9GJjAdLmrtBpsb6uyxeY4kXa+95bvMgWWCzGkbWywhQT9GfoSERn6sXBz3wE5WRxc07F+TA9KL9PCWcW6f0R7EYypglbNKWLg0oj2iszPm+xU= 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: Hi Gregory and Oscar, On 5/3/2025 12:28 AM, Gregory Price wrote: > On Fri, May 02, 2025 at 10:36:23AM +0200, Oscar Salvador wrote: >> There are at least six consumers of hotplug_memory_notifier that what they >> really are interested in is whether any numa node changed its state, e.g: going >> from being memory aware to becoming memoryless and vice versa. >> >> Implement a specific notifier for numa nodes when their state gets changed, >> and have those consumers that only care about numa node state changes use it. >> >> Signed-off-by: Oscar Salvador >> Reviewed-by: Harry Yoo >> Reviewed-by: Jonathan Cameron >> >> diff --git a/mm/mempolicy.c b/mm/mempolicy.c >> index f43951668c41..b3ad63fb3a2b 100644 >> --- a/mm/mempolicy.c >> +++ b/mm/mempolicy.c >> @@ -3591,20 +3591,20 @@ static int wi_node_notifier(struct notifier_block *nb, >> unsigned long action, void *data) >> { >> int err; >> - struct memory_notify *arg = data; >> + struct node_notify *arg = data; >> int nid = arg->status_change_nid; >> >> if (nid < 0) >> return NOTIFY_OK; >> >> switch (action) { >> - case MEM_ONLINE: >> + case NODE_BECAME_MEM_AWARE: >> err = sysfs_wi_node_add(nid); >> if (err) >> pr_err("failed to add sysfs for node%d during hotplug: %d\n", >> nid, err); >> break; > > May I suggest rolling this patch in with this change: > https://lore.kernel.org/linux-mm/aAij2oUCP1zmcoPv@stanley.mountain/ > > seems to fix the underlying problem, and returning an error now makes > sense given the change. The 'err' of sysfs_wi_node_add() wasn't propagated to its caller before this change as discussed with David at the following. https://lore.kernel.org/198f2cbe-b1cb-4239-833e-9aac33d978fa@redhat.com But as Gregory mentioned, we can pass 'err' now with this numa node notifier so for this hunk, shouldn't we add the following change on top of this? diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 3a7717e09506..3073ebd4e7ee 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -3792,7 +3792,7 @@ static int sysfs_wi_node_add(int nid) static int wi_node_notifier(struct notifier_block *nb, unsigned long action, void *data) { - int err; + int err = 0; struct node_notify *arg = data; int nid = arg->status_change_nid; @@ -3811,7 +3811,7 @@ static int wi_node_notifier(struct notifier_block *nb, break; } - return NOTIFY_OK; + return notifier_from_errno(err); } static int __init add_weighted_interleave_group(struct kobject *mempolicy_kobj) > > +cc: Honggyu Kim, Dan Carpenter Thanks for cc-ing me into this thread. Honggyu > >> - case MEM_OFFLINE: >> + case NODE_BECAME_MEMORYLESS: >> sysfs_wi_node_delete(nid); >> break; >> } >> @@ -3639,7 +3639,7 @@ static int __init add_weighted_interleave_group(struct kobject *mempolicy_kobj) >> } >> } >> >> - hotplug_memory_notifier(wi_node_notifier, DEFAULT_CALLBACK_PRI); >> + hotplug_node_notifier(wi_node_notifier, DEFAULT_CALLBACK_PRI); >> return 0; >> >> err_cleanup_kobj: