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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CFFDAC433EF for ; Mon, 8 Nov 2021 07:06:39 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 6983A61073 for ; Mon, 8 Nov 2021 07:06:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 6983A61073 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id AA2B76B0071; Mon, 8 Nov 2021 02:06:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A511E6B0072; Mon, 8 Nov 2021 02:06:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 967016B0081; Mon, 8 Nov 2021 02:06:38 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0101.hostedemail.com [216.40.44.101]) by kanga.kvack.org (Postfix) with ESMTP id 8AFEA6B0071 for ; Mon, 8 Nov 2021 02:06:38 -0500 (EST) Received: from smtpin17.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 4046655FBA for ; Mon, 8 Nov 2021 07:06:38 +0000 (UTC) X-FDA: 78784880076.17.30C2315 Received: from out30-131.freemail.mail.aliyun.com (out30-131.freemail.mail.aliyun.com [115.124.30.131]) by imf03.hostedemail.com (Postfix) with ESMTP id F221830039A6 for ; Mon, 8 Nov 2021 07:06:28 +0000 (UTC) X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R121e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04395;MF=baolin.wang@linux.alibaba.com;NM=1;PH=DS;RN=9;SR=0;TI=SMTPD_---0UvXJHyi_1636355192; Received: from 30.21.164.45(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0UvXJHyi_1636355192) by smtp.aliyun-inc.com(127.0.0.1); Mon, 08 Nov 2021 15:06:32 +0800 Subject: Re: [RFC PATCH] mm: migrate: Add new node demotion strategy To: "Huang, Ying" Cc: Dave Hansen , akpm@linux-foundation.org, dave.hansen@linux.intel.com, ziy@nvidia.com, osalvador@suse.de, shy828301@gmail.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <665cb882-6dbc-335f-1435-e52659d7ee58@intel.com> <87tugrxqks.fsf@yhuang6-desk2.ccr.corp.intel.com> <240c5997-ab7e-8045-dacc-1afdb7c49a0d@linux.alibaba.com> <9271f9d7-e251-9ed4-2126-8debb3395891@linux.alibaba.com> <87fss7w3b7.fsf@yhuang6-desk2.ccr.corp.intel.com> From: Baolin Wang Message-ID: Date: Mon, 8 Nov 2021 15:07:18 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <87fss7w3b7.fsf@yhuang6-desk2.ccr.corp.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: F221830039A6 X-Stat-Signature: q9qojs9akqpm5w7c5xtr1rtoquz5ofhc Authentication-Results: imf03.hostedemail.com; dkim=none; spf=pass (imf03.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.131 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com; dmarc=pass (policy=none) header.from=alibaba.com X-HE-Tag: 1636355188-13883 Content-Transfer-Encoding: quoted-printable 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 2021/11/8 14:48, Huang, Ying writes: > Baolin Wang writes: >=20 >> On 2021/11/7 23:20, Dave Hansen wrote: >>> On 11/7/21 1:33 AM, Baolin Wang wrote: >>>> Thanks for your suggestion. After some thinking, can we change the >>>> node_demotion[] structure like below? Which means one source node ca= n be >>>> demoted to mutiple target node, and we can set up the target node ma= sk >>>> according to the node distance. How do you think? Thanks. >>>> >>>> static nodemask_t node_demotion[MAX_NUMNODES] __read_mostly =3D >>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {[0 ...=C2=A0 MAX_NUMNO= DES - 1] =3D NODE_MASK_NONE}; >>> How large is that in the worst case? >> >> For the worst case (MAX_NUMNODES=3D1024), the size of the node_demotio= n >> is 131072 bytes, while the size of original data structure is 4096 >> bytes. Maybe we can allocate the node_demotion dynamically? >=20 > Per my understanding, in most cases, the number of demotion target node= s > should be quite small. So why not restrict the number of demotion > target nodes to make it some kind of simple array? Yes, agree. Something like below is reasonable for you? #define DEMOTION_TARGET_NODES 16 typedef struct { DECLARE_BITMAP(bits, DEMOTION_TARGET_NODES); }=20 demotemask_t; static demotemask_t node_demotion[MAX_NUMNODES];