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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DF582C43334 for ; Mon, 6 Jun 2022 03:11:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349629AbiFFDLh (ORCPT ); Sun, 5 Jun 2022 23:11:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53366 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233098AbiFFDLd (ORCPT ); Sun, 5 Jun 2022 23:11:33 -0400 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C31ED4F460 for ; Sun, 5 Jun 2022 20:11:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654485091; x=1686021091; h=message-id:subject:from:to:cc:date:in-reply-to: references:mime-version:content-transfer-encoding; bh=I0QdHF0IW1vsI3ZsPfW1ZXjzy87HEMICXcGVm9Da8ds=; b=YcGrJvhWHxe7TLmXKZ53x8003e4CGbBg/6rAlCaN4ahRSwv07A91n3Ty KLcT9LsKRYZumz1csuAsyIHXamky2TlcYPKjTX5ENI5ZbM3xl09UAuhNF Cwc7xNHNAVFC/B/BHS0zSCJFZ6CAu+bldTxpOlKO4F9F7286cf5Yu00J6 Dpx0Rttw8O6KTGHoj3XIT69vGycUayxGrYox5NZl0WwdsImkKREwweWzB 8TN8CEMLvCufNRFQ6lkwmDhfY+9LHlDCgW7j/EWoPcORwqTeBNOW5ARA4 9/rZ6Lp7gsapQ8NEAW+G8Bf1rwX2WIkEoZRbExWXgeTX+sgdsN6VlGvBn w==; X-IronPort-AV: E=McAfee;i="6400,9594,10369"; a="274153848" X-IronPort-AV: E=Sophos;i="5.91,280,1647327600"; d="scan'208";a="274153848" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2022 20:11:31 -0700 X-IronPort-AV: E=Sophos;i="5.91,280,1647327600"; d="scan'208";a="635369779" Received: from xingguom-mobl.ccr.corp.intel.com ([10.254.213.116]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2022 20:11:26 -0700 Message-ID: <6e94b7e2a6192e4cacba1db3676b5b5cf9b98eac.camel@intel.com> Subject: Re: [PATCH v5 9/9] mm/demotion: Update node_is_toptier to work with memory tiers From: Ying Huang To: "Aneesh Kumar K.V" , linux-mm@kvack.org, akpm@linux-foundation.org Cc: Wei Xu , Greg Thelen , Yang Shi , Davidlohr Bueso , Tim C Chen , Brice Goglin , Michal Hocko , Linux Kernel Mailing List , Hesham Almatary , Dave Hansen , Jonathan Cameron , Alistair Popple , Dan Williams , Feng Tang , Jagdish Gediya , Baolin Wang , David Rientjes Date: Mon, 06 Jun 2022 11:11:23 +0800 In-Reply-To: <20220603134237.131362-10-aneesh.kumar@linux.ibm.com> References: <20220603134237.131362-1-aneesh.kumar@linux.ibm.com> <20220603134237.131362-10-aneesh.kumar@linux.ibm.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 2022-06-03 at 19:12 +0530, Aneesh Kumar K.V wrote: > With memory tiers support we can have memory on NUMA nodes > in the top tier from which we want to avoid promotion tracking NUMA > faults. Update node_is_toptier to work with memory tiers. To > avoid taking locks, a nodemask is maintained for all demotion > targets. All NUMA nodes are by default top tier nodes and as > we add new lower memory tiers NUMA nodes get added to the > demotion targets thereby moving them out of the top tier. Check the usage of node_is_toptier(), - migrate_misplaced_page() node_is_toptier() is used to check whether migration is a promotion. We can avoid to use it. Just compare the rank of the nodes. - change_pte_range() and change_huge_pmd() node_is_toptier() is used to avoid scanning fast memory (DRAM) pages for promotion. So I think we should change the name to node_is_fast() as follows, static inline bool node_is_fast(int node) { return NODE_DATA(node)->mt_rank >= MEMORY_RANK_DRAM; } And, as above, I suggest to add memory tier ID and rank to struct pglist_data directly. Best Regards, Huang, Ying