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 25854C28B20 for ; Wed, 2 Apr 2025 16:57:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 791E6280003; Wed, 2 Apr 2025 12:57:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 74016280001; Wed, 2 Apr 2025 12:57:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5E165280003; Wed, 2 Apr 2025 12:57:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 40838280001 for ; Wed, 2 Apr 2025 12:57:52 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id EC455AB167 for ; Wed, 2 Apr 2025 16:57:52 +0000 (UTC) X-FDA: 83289710784.23.D33FAE2 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf27.hostedemail.com (Postfix) with ESMTP id B5DCA40009 for ; Wed, 2 Apr 2025 16:57:50 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=CTPID6ph; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=HbLBLcMN; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=CTPID6ph; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=HbLBLcMN; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf27.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.130 as permitted sender) smtp.mailfrom=osalvador@suse.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743613071; a=rsa-sha256; cv=none; b=gwaZAs5R3nnB6h2fkH1Oq38D6ideQAhEv6Wifg92j0GcW/Kg7LrsozX7DlsWtOIIy+4ixC PYX19gjawNlIW6EE/Hk7s+vqlhmgyx+GQ5a4Vq18yPM98+ueak/Ht6axfKdV1v1E/OSbhT vK3//aIfwhBS+XCMeheqUN9YuAwOzMc= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=CTPID6ph; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=HbLBLcMN; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=CTPID6ph; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=HbLBLcMN; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf27.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.130 as permitted sender) smtp.mailfrom=osalvador@suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743613071; 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=RL4hdWDVJm0RZEPEN+8GKW+oid18vTX/PiiZ3tkNRhg=; b=LV6IwKuSUnVKiOL0oqfntpsb9bOFE8oa2G9c8YfiD4jhKJ5BHw3kjRp2/JBRTR8p3/2xIo tk/JadGCZ46FM/6xDBSzeMHn5+iFXjkCgY+qZ9LBPxNLwaGOO1hKsdBxCLGS+pQOY8nIiy O4HekzrONFi6CKLNEtJ/+RET1qUBf+I= Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 249D82116B; Wed, 2 Apr 2025 16:57:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1743613069; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=RL4hdWDVJm0RZEPEN+8GKW+oid18vTX/PiiZ3tkNRhg=; b=CTPID6phM97SkeGz1qsxPBRUTzjF/1+SOv1ya1RUf0hp4UT5uM6VtEDSWRobFjKF+3hg7B pkuFF01pzA0F/LNs60+AWpIxF0vfVYwUlDyz0MF1q8dFJ529vUfZa7zRUaygDnkn9p283x v+lF937X88dhjsfUaNP3yxhtXpEHAGM= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1743613069; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=RL4hdWDVJm0RZEPEN+8GKW+oid18vTX/PiiZ3tkNRhg=; b=HbLBLcMNDlmGliVd6d8o/sSR+aveZg+5dKAQ5EwYaf80GzjghSGRRYtM6hslagU0OhmlHd pVE3s9ZNVgpMTgCQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1743613069; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=RL4hdWDVJm0RZEPEN+8GKW+oid18vTX/PiiZ3tkNRhg=; b=CTPID6phM97SkeGz1qsxPBRUTzjF/1+SOv1ya1RUf0hp4UT5uM6VtEDSWRobFjKF+3hg7B pkuFF01pzA0F/LNs60+AWpIxF0vfVYwUlDyz0MF1q8dFJ529vUfZa7zRUaygDnkn9p283x v+lF937X88dhjsfUaNP3yxhtXpEHAGM= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1743613069; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=RL4hdWDVJm0RZEPEN+8GKW+oid18vTX/PiiZ3tkNRhg=; b=HbLBLcMNDlmGliVd6d8o/sSR+aveZg+5dKAQ5EwYaf80GzjghSGRRYtM6hslagU0OhmlHd pVE3s9ZNVgpMTgCQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 92E1F137D4; Wed, 2 Apr 2025 16:57:48 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id AiqKIIxs7WerXQAAD6G6ig (envelope-from ); Wed, 02 Apr 2025 16:57:48 +0000 Date: Wed, 2 Apr 2025 18:57:42 +0200 From: Oscar Salvador To: Vlastimil Babka Cc: Andrew Morton , David Hildenbrand , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Hyeonggon Yoo <42.hyeyoo@gmail.com>, mkoutny@suse.com, Dan Williams , Jonathan Cameron Subject: Re: [PATCH 1/2] mm,memory_hotplug: Implement numa node notifier Message-ID: References: <20250401092716.537512-1-osalvador@suse.de> <20250401092716.537512-2-osalvador@suse.de> <4e122668-6f6a-4874-85df-e6869b9ccb24@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4e122668-6f6a-4874-85df-e6869b9ccb24@suse.cz> X-Rspamd-Action: no action X-Rspamd-Queue-Id: B5DCA40009 X-Stat-Signature: u9yi7ziqtjk71ao4uedc619hnt8hjsce X-Rspam-User: X-Rspamd-Server: rspam06 X-HE-Tag: 1743613070-119098 X-HE-Meta: U2FsdGVkX18f6VBjMYVH0oVo+/VEPnCAQqnwYElcA/MyIIaH6ZAVlKgZOKEbzn9bHaxqv62rGvFKxcWi0pZ1dgtZSvZyW274bXK+DPXJmC/LwEtSjJl5on4Tk4XXBcVKazzvc+2Up4sv7v9plo+e0gTedlfY56JbZWpd7SYS07Pkpa9o//7CVc2tNuzvL6ygwDctA5GXuoOxo4ssFn1lE89+aGr1at7nJFaP/K9i3ho7+2OZPvckCtvskPuI/aD+tFzVfo7Vqn820mhFX7Avdf+5/IpgWbh9OAhOiKvH1Fmwt8VyX2ns8g+eZf0nv0tJgwukOaFqs6DUeBC9To1DsmxIEgj0KvLdu5el6FA4ny83edMkz3HsGNeXP9vr7xaYctdf5Ls4fSYZ5X0bI6SWVHxPv7L73WAFgGYgwh+V4dP00DsRsDZttgyKE0p3vd50d7GAeJvPeoze7jtuNDU0ETyWI4WtxquUFZ5xgbJuGQgSgVblQPZjeEQMTpc7ROr73bMBDGD3dT+Pz7rqoxgniYOb0LBoaQ0ZaZLPsiUD/E4U22+MLWm66Uj2DLLpEtOGHZuU54JCILDWH1FDp/dC9ZTCpUux2PWx/ircPQDx0H5+3pS8f1CZYNzKiYuUPZn3og+JYh4usgcMcSnpYnle2rPqhqSOCm8fVIdlHnfFSeLtBim/bPcjpT7tqinK6eE4/1eBA9xPegr0B3saCumBnLeEXjybyi7uIfyBjsT5xNPahG9liJoDjv+jjYiKnC7m/Qm0z2bNais+UrnOddamNP7uQP2PNU0MDr9LTjhjQ7h3AqVhQc2I1XwUH58Z+gr9rPmJPh4Qvacuhg0sDzF8ElQIiTq8MSEUBpV83UocOlC7dzGioO1aYatR/yDWx2X6UmXM0/7NmWb9ici+mYyrtY0yBszP/UwKjY0AmnnETYLYFlNVRnV9lr8z2+/xitJJw5ns/v2T9f+dwEO/2FV EguhpWZ5 CA9slj/xNDHo66ZoHAorn/Ude6NZJiR02ZEVYuTX7oqBIkmZC88iLcnUKWjox5Y7qlMt7mmtx7PqRXRxNoWNxNY/Zb9I9sF2Ss2UEgORg3gjSz4pMUXUJvP28UsGCiZyBKqfDd0RXU8Ow5txncQnyrmJveuc31ZyQpf8bJwFpYG5fjVojouo/u4zGCH15klRri2r9QAL5vvy2DViPqClHF5qm7XRKclZKBXDz9dUbJSp6xZYKhESiIHENrDOYq+LuD8NsWmuWdysZAD+6lruBThR9pzVN0Rv89gvinfi/Z5HTxVRJPRT/RdF562amOmMUlZxr0K3+/ItRzeK/QnBx48zXJhems0/JU+fy9g5TJ0s8NiyoWBmluFOFQXxlaUTOAlVa 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 Wed, Apr 02, 2025 at 06:03:04PM +0200, Vlastimil Babka wrote: > On 4/1/25 11:27, Oscar Salvador wrote: > > - arg.start_pfn = pfn; > > - arg.nr_pages = nr_pages; > > - node_states_check_changes_online(nr_pages, zone, &arg); > > + mem_arg.start_pfn = pfn; > > + mem_arg.nr_pages = nr_pages; > > + node_states_check_changes_online(nr_pages, zone, &node_arg); > > > > - ret = memory_notify(MEM_GOING_ONLINE, &arg); > > + if (node_arg.status_change_nid >= 0) { > > Hmm, don't we need to add "|| node_arg.status_change_nid_normal >= 0"? Or we > fail to notify addition of normal memory to a node that already has !normal > memory? Ah, I think you are right, nice catch. Yes, if we add normal (<= ZONE_NORMAL) memory to a node that only has ZONE_MOVABLE, status_change_nid_normal will change, but status_change_nid will not. So yes, we need a "|| node_arg.status_change_nid_normal >= 0". > > - memory_notify(MEM_CANCEL_ONLINE, &arg); > > + if (cancel_node_notifier_on_err) > > + node_notify(NODE_CANCEL_MEM_AWARE, &node_arg); > > + if (cancel_mem_notifier_on_err) > > + memory_notify(MEM_CANCEL_ONLINE, &mem_arg); > > Switch the order of those just for symmetry? :) Will do. > > - arg.start_pfn = start_pfn; > > - arg.nr_pages = nr_pages; > > - node_states_check_changes_offline(nr_pages, zone, &arg); > > + mem_arg.start_pfn = start_pfn; > > + mem_arg.nr_pages = nr_pages; > > + node_states_check_changes_offline(nr_pages, zone, &node_arg); > > + > > + if (node_arg.status_change_nid >= 0) { > > Ditto. Yap. > > failed_removal_isolated: > > /* pushback to free area */ > > undo_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE); > > - memory_notify(MEM_CANCEL_OFFLINE, &arg); > > + if (cancel_node_notifier_on_err) > > + node_notify(NODE_CANCEL_MEMORYLESS, &node_arg); > > + if (cancel_mem_notifier_on_err) > > + memory_notify(MEM_CANCEL_OFFLINE, &mem_arg); > > Ditto. Copy that. Thanks Vlastimil! -- Oscar Salvador SUSE Labs