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 E0362C433F5 for ; Tue, 8 Mar 2022 17:07:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B9828D0003; Tue, 8 Mar 2022 12:07:29 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 341628D0001; Tue, 8 Mar 2022 12:07:29 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1E3028D0003; Tue, 8 Mar 2022 12:07:29 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0082.hostedemail.com [216.40.44.82]) by kanga.kvack.org (Postfix) with ESMTP id 0D9968D0001 for ; Tue, 8 Mar 2022 12:07:29 -0500 (EST) Received: from smtpin18.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id B22C9182976E6 for ; Tue, 8 Mar 2022 17:07:28 +0000 (UTC) X-FDA: 79221850176.18.2A8EC16 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by imf20.hostedemail.com (Postfix) with ESMTP id AC0A41C000A for ; Tue, 8 Mar 2022 17:07:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646759247; x=1678295247; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=rbzyGGxkDdg5MrfDGdFxARpZaSodeNWFg/OZHJmkfrw=; b=MmTwgsRmzYPfehiPgkVVDz/geaIvSDHivaSibYi3dO5G5lRfJvj9fIM3 qKqhABKV3m11+xSwSsOUgjGtBuoo1bftz92lK5mNaKjujKHOVAO7lGBnV VbwX1F8TNeV9ZyVLOi5R1xlwnO6heXEmLRILo0Sb3rLpgCEXIJw81A8Km nAKa0T+8qC4cXiBMNVHtizdZzRoiUUPQ4Qn4WVkwzPsOctbCAEkEjqR0G 1x9l3GFDvv3mJQS7Iu733NZwrQSXO2gEwHLgTqfdO9krod+Nt7vDBZ3J9 jFaTKnHNWo35Als1xU4tYwfJec/mUQDGb51z8UtMcF58AuTWXeP6Q3eFP g==; X-IronPort-AV: E=McAfee;i="6200,9189,10280"; a="341174140" X-IronPort-AV: E=Sophos;i="5.90,165,1643702400"; d="scan'208";a="341174140" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2022 09:07:26 -0800 X-IronPort-AV: E=Sophos;i="5.90,165,1643702400"; d="scan'208";a="632297352" Received: from ralphala-mobl.amr.corp.intel.com (HELO [10.209.117.92]) ([10.209.117.92]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2022 09:07:24 -0800 Message-ID: <86383ac9-e5f2-1a2e-dd19-02e39714a3fd@intel.com> Date: Tue, 8 Mar 2022 09:07:20 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [PATCH -V11 2/9] mm/migrate: update node demotion order on hotplug events Content-Language: en-US To: Oscar Salvador , "Huang, Ying" Cc: Abhishek Goel , Dave Hansen , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zi Yan , David Hildenbrand , Yang Shi , Andrew Morton References: <20210721063926.3024591-1-ying.huang@intel.com> <20210721063926.3024591-2-ying.huang@intel.com> <4e8067e1-0574-c9d2-9d6c-d676d32071bd@linux.vnet.ibm.com> <87pmnb3ccr.fsf@yhuang6-desk2.ccr.corp.intel.com> From: Dave Hansen In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: AC0A41C000A X-Stat-Signature: nok3i3u5shtb1jwi8kwkmrzbdz5dfjf3 Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=MmTwgsRm; spf=none (imf20.hostedemail.com: domain of dave.hansen@intel.com has no SPF policy when checking 192.55.52.43) smtp.mailfrom=dave.hansen@intel.com; dmarc=pass (policy=none) header.from=intel.com X-HE-Tag: 1646759247-443798 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: On 3/8/22 02:27, Oscar Salvador wrote: > @@ -2043,7 +2044,12 @@ static void __init init_cpu_node_state(void) > static int vmstat_cpu_online(unsigned int cpu) > { > refresh_zone_stat_thresholds(); > - node_set_state(cpu_to_node(cpu), N_CPU); > + > + if (!node_state(cpu_to_node(cpu), N_CPU)) { > + node_set_state(cpu_to_node(cpu), N_CPU); > + set_migration_target_nodes(); > + } > + > return 0; > } > > @@ -2066,6 +2072,8 @@ static int vmstat_cpu_dead(unsigned int cpu) > return 0; > > node_clear_state(node, N_CPU); > + set_migration_target_nodes(); > + > return 0; > } Yeah, those callbacks do look like they're reinventing the wheel. This is a much more direct way of doing it.