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 X-Spam-Level: X-Spam-Status: No, score=-3.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 91FA8C4743C for ; Tue, 22 Jun 2021 00:54:48 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 2794460FE9 for ; Tue, 22 Jun 2021 00:54:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2794460FE9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id ABB466B0036; Mon, 21 Jun 2021 20:54:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A921D6B0062; Mon, 21 Jun 2021 20:54:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 95A8E6B006C; Mon, 21 Jun 2021 20:54:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0154.hostedemail.com [216.40.44.154]) by kanga.kvack.org (Postfix) with ESMTP id 60BBC6B0036 for ; Mon, 21 Jun 2021 20:54:47 -0400 (EDT) Received: from smtpin34.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id F1A94180AD802 for ; Tue, 22 Jun 2021 00:54:46 +0000 (UTC) X-FDA: 78279539772.34.DBE17AC Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by imf08.hostedemail.com (Postfix) with ESMTP id 3FEB38019361 for ; Tue, 22 Jun 2021 00:54:41 +0000 (UTC) IronPort-SDR: MeLF1GjfE0yP/9M/1f6b0nmhPGE07gMNZ7E8yenTv8KDT6QuHzvBLWdoZB6zllRaLtV6EGkZtL LD3LuWoBXNEw== X-IronPort-AV: E=McAfee;i="6200,9189,10022"; a="206780971" X-IronPort-AV: E=Sophos;i="5.83,290,1616482800"; d="scan'208";a="206780971" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jun 2021 17:54:39 -0700 IronPort-SDR: bylm2WP4+0gdOJ5pDwrKkr0wmM4h8aMa4HvR8Qy0HkfoFJJCv4aIkVMdEvkdFLEQKOq1VtsfMN SkxY4Pzxeuog== X-IronPort-AV: E=Sophos;i="5.83,290,1616482800"; d="scan'208";a="486705746" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.239.159.119]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jun 2021 17:54:36 -0700 From: "Huang, Ying" To: Dave Hansen Cc: Zi Yan , Dave Hansen , , , Yang Shi , Michal Hocko , Wei Xu , David Rientjes , Dan Williams , David Hildenbrand , osalvador Subject: Re: [PATCH -V8 02/10] mm/numa: automatically generate node migration order References: <20210618061537.434999-1-ying.huang@intel.com> <20210618061537.434999-3-ying.huang@intel.com> <79397FE3-4B08-4DE5-8468-C5CAE36A3E39@nvidia.com> <87v96anu6o.fsf@yhuang6-desk2.ccr.corp.intel.com> <36307d7a-6e39-b1dd-64e8-95ec59f16867@intel.com> Date: Tue, 22 Jun 2021 08:54:34 +0800 In-Reply-To: <36307d7a-6e39-b1dd-64e8-95ec59f16867@intel.com> (Dave Hansen's message of "Mon, 21 Jun 2021 12:53:04 -0700") Message-ID: <871r8uoh11.fsf@yhuang6-desk2.ccr.corp.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=ascii Authentication-Results: imf08.hostedemail.com; dkim=none; spf=none (imf08.hostedemail.com: domain of ying.huang@intel.com has no SPF policy when checking 192.55.52.115) smtp.mailfrom=ying.huang@intel.com; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=intel.com (policy=none) X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 3FEB38019361 X-Stat-Signature: ohoxpr68ehmyqq6b81qrza99td1o3h85 X-HE-Tag: 1624323281-601871 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: Dave Hansen writes: > On 6/19/21 1:18 AM, Huang, Ying wrote: >>>> int next_demotion_node(int node) >>>> { >>>> - return node_demotion[node]; >>>> + /* >>>> + * node_demotion[] is updated without excluding >>>> + * this function from running. READ_ONCE() avoids >>>> + * reading multiple, inconsistent 'node' values >>>> + * during an update. >>>> + */ >>>> + return READ_ONCE(node_demotion[node]); >>>> } >>> Is it necessary to have two separate patches to add node_demotion and >>> next_demotion_node() then modify it immediately? Maybe merge Patch 1 into 2? >>> >>> Hmm, I just checked Patch 3 and it changes node_demotion again and uses RCU. >>> I guess it might be much simpler to just introduce node_demotion with RCU >>> in this patch and Patch 3 only takes care of hotplug events. >> Hi, Dave, >> >> What do you think about this? >> > > Squashing them seems like a good idea to me. Sure. Will do that. How about move RCU from 3/10 to the squashed one? Best Regards, Huang, Ying