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 F1E54C0032E for ; Mon, 23 Oct 2023 01:20:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5C7026B0096; Sun, 22 Oct 2023 21:20:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 576F56B0098; Sun, 22 Oct 2023 21:20:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 466496B0099; Sun, 22 Oct 2023 21:20:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 335CC6B0096 for ; Sun, 22 Oct 2023 21:20:33 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 03FF8A0671 for ; Mon, 23 Oct 2023 01:20:32 +0000 (UTC) X-FDA: 81374971146.20.32CE37B Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by imf12.hostedemail.com (Postfix) with ESMTP id F37CB40006 for ; Mon, 23 Oct 2023 01:20:30 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="oIDxr6/N"; spf=pass (imf12.hostedemail.com: domain of ying.huang@intel.com designates 192.198.163.7 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1698024031; a=rsa-sha256; cv=none; b=aDj5C8WoT7ob9bHLy3TH5KrGbmihO/OWdCXcvodxo/Mmg2EAmHgmnUanS4bkNTtaPB3a6v MwUz2ceMgvrEuZqOty4nuNrm0niv1uoVA1ox/PwwwO3Tz6hCgW9s9bstSFLSpckYq22iWl 64JnSD8Z/BKOOcpJ7BW9vC9v07HiCSs= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="oIDxr6/N"; spf=pass (imf12.hostedemail.com: domain of ying.huang@intel.com designates 192.198.163.7 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698024031; 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=PMoxpC52mtJ0ZpE/bXPgL7ITERF8A+jLki6huMorp6A=; b=691sU/M+zz/aDT+2kWd7IeCOGVR6baiOkjT3ceG/TQuZwAfkefo4xoD9ybC1thXga3t2AX KvGdWXDaH/ROwjD0sb6oZX5UtYev7PlrMAwVw5dRFkNCh9Kfl4sY9a8Kg7sJdYGa9VCC6q ouxVbLepPz063+Zgr53XM0jbBc4teHk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698024031; x=1729560031; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version; bh=8OjgUhcQCF8YY+dIqFZ8+sYmCLWEQX4HA0T+L+09Vk4=; b=oIDxr6/Nn9McCVirLlp7YQywTDU2H8b+6b5zz+JOR7+IdbSY6d7K6ySm zIkxwQabGXmwPa1cLeqJ0mcy0bncG2lN6EYIgtFjIDpfyB9dkSI1wCxfO YHcYa9HdsrZ5dCNrODS06V9pTvIOd17+MycT6rUdzUmMRq9VgH9y9gHpx 0xAPnDqqLCvPOdGpDgDLoUEwQfq1+yIRFhcEwpmF2bnmhhNhirhKUgy75 /R+B7mkWfNmuhJ6kQ6eHVldu7HloF5BFIOhj3BnMa6yZE/ysw7IRo10ii SqFQZZuXDBknz9bVKCanX2D0gGTK5SgDYI89ZN5HOrR+aKwaRCEj26wws g==; X-IronPort-AV: E=McAfee;i="6600,9927,10871"; a="8304723" X-IronPort-AV: E=Sophos;i="6.03,244,1694761200"; d="scan'208";a="8304723" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Oct 2023 18:20:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10871"; a="792954983" X-IronPort-AV: E=Sophos;i="6.03,244,1694761200"; d="scan'208";a="792954983" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Oct 2023 18:20:25 -0700 From: "Huang, Ying" To: Qi Zheng Cc: akpm@linux-foundation.org, rppt@kernel.org, david@redhat.com, vbabka@suse.cz, mhocko@suse.com, willy@infradead.org, mgorman@techsingularity.net, mingo@kernel.org, aneesh.kumar@linux.ibm.com, hannes@cmpxchg.org, osalvador@suse.de, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v3 2/2] mm: memory_hotplug: drop memoryless node from fallback lists In-Reply-To: <4bfa007c-a20f-9e68-4a9f-935dacf43222@bytedance.com> (Qi Zheng's message of "Fri, 20 Oct 2023 15:35:08 +0800") References: <9f1dbe7ee1301c7163b2770e32954ff5e3ecf2c4.1697711415.git.zhengqi.arch@bytedance.com> <87bkctg4f4.fsf@yhuang6-desk2.ccr.corp.intel.com> <4bfa007c-a20f-9e68-4a9f-935dacf43222@bytedance.com> Date: Mon, 23 Oct 2023 09:18:23 +0800 Message-ID: <8734y2f868.fsf@yhuang6-desk2.ccr.corp.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=ascii X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: F37CB40006 X-Stat-Signature: pdzrfnxhe8h86btpgn7xcozxicbnpmcf X-Rspam-User: X-HE-Tag: 1698024030-251578 X-HE-Meta: U2FsdGVkX19Do6ZGiytp/ImMaBLkPiCDwMyDsiB85jPFvWTBd2kZAPXTzHmO0wXJdfDvxsbc7yhOcYhDtCU/XYMuZy4nHXl5ngeRMK63d0sWynSYusraRByzB055FetXUOUE5fVbLZWN2baUJC+9ahIYjDswjRVOE9rlVnMiMnKm3Tw6XzMDWgur1UW3erqfzeYPOzhyK/TrhFt9lF+dCEN6I8JdM3fxIcPodyfh1dLNVXS5wtsTohpsf3Y8+V26tUR0r0CSF700IwPYgOb/GIxJhl0CIGOmlq/UYqWy9MqAUQDBoQ4bKwR3UDEGXvCYl6WfduGje55AGz0ntsdodzEmccpl7KHWx8AM3E/hzpTrcjYdi37noogpQejddy8LvoJJcmA079PnVJ8N6fjg+T7GguZtWOFaB+0JpFStOpZL4QnaoiiBxvmF0+EY9ilk/nryajECuDa11qJxZ/rO/F4GOQmeAivGsDd9lzL56Y94fnqZcNMsZWsWPq9FNfgvDhvO+eUHjYGaZy9a4/7RYr8cCRuNzTbik0zZbGmMKXrFGejhMhZJltJrklJdLMiMvNe//RakGnEVRnK4vAZQpBihLIxwIGOIXVcnaQ75AqDyWGq+3jb+2+vB46JT3ydpMkg08CyTD7ceJkFHYLSytP0h5Vcyu3f1uH9P7lxvlW7gYGhANHh6Zal2ld+HdZaz82Ax2ErdC+WaSpjRO29LD0k5pEe1hRC4lhM/Zcz40HpdwY8vtI0vcABtiNojGB2YUQP46ey3OWPKBIJyRmLNC0TxnioQA71qvu7vHKzBo2DHN7/jK82+QE1wgnNDvfWjfBkb2m+21uHaeDS7KfYc+WyIUInS7TPvCEGqTNRjBxjf09zFsegIYSYso6aR2t4ZT7x1zvbJZIHt1ByaHvh684G6L2VnJd8Rf8gQWoaidUVvK0pDcNYnxtkmMquDbRFTAXkmiWTEVf5qhBIvat7 1DeZ5zs2 TuBqtGYG4Ac6A3NXvbj3BX6wSQ9hdPsHBmJQoLMQ138AdgtGK7XZidSbbAAw0JiJCjmDOC434B6z/uU0rW8wqSeSkBnwZ5cfyjZw/vY0OR0o8wOBCMXLAamrMks4rYg525N2Ns6igEV9RUPLTHAOU79Cwx9EEEcJdVgSzDITUz+bhBIMdhJE6pwh1F2YMkfdZ3A32QXr2MFVi4PJAr/0HErb89nBC9+NH1/xeEj0oVtc/NDmo7eABXhbhybh6pojyiN62QFSgTLEU1fDjjWtWwxiE9mds7jWUh3JY5r9m+vvWeCgEHUOnpGUPjKG50M6zoGkvlll5x9KUSSoXO84YIoKGWg== 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: Qi Zheng writes: > Hi Ying, > > On 2023/10/20 15:05, Huang, Ying wrote: >> Qi Zheng writes: >> >>> In offline_pages(), if a node becomes memoryless, we >>> will clear its N_MEMORY state by calling node_states_clear_node(). >>> But we do this after rebuilding the zonelists by calling >>> build_all_zonelists(), which will cause this memoryless node to >>> still be in the fallback list of other nodes. >> For fallback list, do you mean pgdat->node_zonelists[]? If so, in >> build_all_zonelists >> __build_all_zonelists >> build_zonelists >> build_zonelists_in_node_order >> build_zonerefs_node >> populated_zone() will be checked before adding zone into zonelist. >> So, IIUC, we will not try to allocate from the memory less node. > > Normally yes, but if it is the weird topology mentioned in [1], it's > possible to allocate memory from it, it is a memoryless node, but it > also has memory. > > In addition to the above case, I think it's reasonable to remove > memory less node from node_order[] in advance. In this way it will > not to be traversed in build_zonelists_in_node_order(). > > [1]. https://lore.kernel.org/all/20230212110305.93670-1-zhengqi.arch@bytedance.com/ Got it! Thank you for information. I think that it may be good to include this in the patch description to avoid potential confusing in the future. -- Best Regards, Huang, Ying > Thanks, > Qi > > >> -- >> Best Regards, >> Huang, Ying >> >>> This will incur >>> some runtime overhead. >>> >>> To drop memoryless node from fallback lists in this case, just >>> call node_states_clear_node() before calling build_all_zonelists(). >>> >>> Signed-off-by: Qi Zheng >>> Acked-by: David Hildenbrand >> [snip] >> -- >> Best Regards, >> Huang, Ying