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 5628DC433FE for ; Mon, 8 Nov 2021 08:42:58 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id F13C76113D for ; Mon, 8 Nov 2021 08:42:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org F13C76113D 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 74FB36B0071; Mon, 8 Nov 2021 03:42:57 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 700946B0072; Mon, 8 Nov 2021 03:42:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5EEB26B0073; Mon, 8 Nov 2021 03:42:57 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0084.hostedemail.com [216.40.44.84]) by kanga.kvack.org (Postfix) with ESMTP id 513126B0071 for ; Mon, 8 Nov 2021 03:42:57 -0500 (EST) Received: from smtpin02.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 115B2183E9A56 for ; Mon, 8 Nov 2021 08:42:57 +0000 (UTC) X-FDA: 78785122794.02.0FA98BD Received: from out30-45.freemail.mail.aliyun.com (out30-45.freemail.mail.aliyun.com [115.124.30.45]) by imf15.hostedemail.com (Postfix) with ESMTP id 98D47D0020CB for ; Mon, 8 Nov 2021 08:42:42 +0000 (UTC) X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R601e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04357;MF=baolin.wang@linux.alibaba.com;NM=1;PH=DS;RN=9;SR=0;TI=SMTPD_---0UvXJVQ9_1636360970; Received: from 30.21.164.45(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0UvXJVQ9_1636360970) by smtp.aliyun-inc.com(127.0.0.1); Mon, 08 Nov 2021 16:42:50 +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> <87sfw7ukv9.fsf@yhuang6-desk2.ccr.corp.intel.com> From: Baolin Wang Message-ID: Date: Mon, 8 Nov 2021 16:43:37 +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: <87sfw7ukv9.fsf@yhuang6-desk2.ccr.corp.intel.com> Content-Type: text/plain; charset=windows-1252; format=flowed X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 98D47D0020CB X-Stat-Signature: kkbadwrrhia67e6g1ajyipn7hmt36sox Authentication-Results: imf15.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=alibaba.com; spf=pass (imf15.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.45 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com X-HE-Tag: 1636360962-331739 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 16:12, Huang, Ying writes: > Baolin Wang writes: >=20 >> On 2021/11/8 14:48, Huang, Ying writes: >>> Baolin Wang writes: >>> >>>> 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 = can be >>>>>> demoted to mutiple target node, and we can set up the target node = mask >>>>>> according to the node distance. How do you think? Thanks. >>>>>> >>>>>> static nodemask_t node_demotion[MAX_NUMNODES] __read_mostly =3D >>>>>> =A0=A0=A0 {[0 ... MAX_NUMNODES - 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_demot= ion >>>> is 131072 bytes, while the size of original data structure is 4096 >>>> bytes. Maybe we can allocate the node_demotion dynamically? >>> Per my understanding, in most cases, the number of demotion target >>> nodes >>> 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); } >> demotemask_t; >> >> static demotemask_t node_demotion[MAX_NUMNODES]; >=20 > I don't think we need a bitmap. May be something as following, >=20 > #define DEMOTION_TARGET_NODES 15 > struct demotion_nodes { > unsigned short nr; > unsigned short nodes[DEMOTION_TARGET_NODES]; > }; OK. Let me try it in next version. Thanks.