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 C2C86C3DA63 for ; Tue, 23 Jul 2024 05:50:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 08B5F6B007B; Tue, 23 Jul 2024 01:50:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 03C076B0083; Tue, 23 Jul 2024 01:50:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E6C3C6B0085; Tue, 23 Jul 2024 01:50:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id C995C6B007B for ; Tue, 23 Jul 2024 01:50:09 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 2EE9BA66B4 for ; Tue, 23 Jul 2024 05:50:09 +0000 (UTC) X-FDA: 82369941738.22.542F512 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19]) by imf22.hostedemail.com (Postfix) with ESMTP id BBBE5C001E for ; Tue, 23 Jul 2024 05:50:05 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Ysbr5591; spf=pass (imf22.hostedemail.com: domain of ying.huang@intel.com designates 192.198.163.19 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=1721713784; 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=BoVjvLPCvvSIxZuqhHYc8p7HdZzn5ykpLKIwhH09s7w=; b=HWNKyBKkF4euCVQwB1oMINYvU1mtceMy1u2c2y5OIPaoMueG9F38YRHNHHEHubmn+f0FBZ 2n7LQOCcuucbftWEz6O79fXWnQogbU17sptTykXKO0/IuiuS1Y9tQmHa0DkYpfuhT82BN/ RaAMl2iuH33knPcX9kDcIHxC59RElvs= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Ysbr5591; spf=pass (imf22.hostedemail.com: domain of ying.huang@intel.com designates 192.198.163.19 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=1721713784; a=rsa-sha256; cv=none; b=IlNk3upBDNMTmgarZONyLjoQ7Zl7XFN359KSa0uG+B7bE2GogAR9IRlGvXBnhA2rY4qTY2 uBvJCbvztvcF1yVgdIhPyGvEUHCLtG1UjPsaNrLLd0P/vv7RdlIIfxx2ofm3lSRia5kPI0 JeqRLl41AzE0kcPe+zFX82YK0tAY5Gs= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1721713806; x=1753249806; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version; bh=KRSVEKuQf4D7uKsk/SQEgnkrXd61qjSP50UUz7uThlI=; b=Ysbr5591RBJY639dbHnd8520svA0UcHQJXyl0rZ/EN/LkG7LI/zG6LR+ TvjZxe/GrjvBAaQmUJ42nxHfAtpMk2MLoyAg3r0Lnqj8z7HNmZ4xY8gvy Ud1SEq0EQefdOWyvotq9p+krqJoTm3Ghh/BgTM2Oj0k+7Is0F0Muq2FwK hmvYpas7Vn9lreYy5uKxcYuP7WklM2QGuq5eScgvhzaNMfW1ow1GFbK10 cgADrspokMp4ftXHkH8rtUVabBSU+S/gm11cHFuq6yjHRFLWhTzaewEaj 1NIRm3jfbTqrc000AT+RSbvxlBrjArCnnq0F5TyswKIzSiP2CUh42sC/o g==; X-CSE-ConnectionGUID: YMpnIKisRr6kzdBl1Sk3KQ== X-CSE-MsgGUID: +hScweePTPWIpzx30KSfOQ== X-IronPort-AV: E=McAfee;i="6700,10204,11141"; a="19017676" X-IronPort-AV: E=Sophos;i="6.09,230,1716274800"; d="scan'208";a="19017676" Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jul 2024 22:50:00 -0700 X-CSE-ConnectionGUID: rwpwn8nZQe6rHHxwdO8mcg== X-CSE-MsgGUID: A03Y7/5JRjykVMxM5WARwA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,230,1716274800"; d="scan'208";a="89578334" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jul 2024 22:49:58 -0700 From: "Huang, Ying" To: Kefeng Wang Cc: Zi Yan , Andrew Morton , , David Hildenbrand , Baolin Wang , Subject: Re: [PATCH v2 3/3] memory tiering: count PGPROMOTE_SUCCESS when mem tiering is enabled. In-Reply-To: (Kefeng Wang's message of "Tue, 23 Jul 2024 11:24:23 +0800") References: <20240722172917.503370-1-ziy@nvidia.com> <20240722172917.503370-3-ziy@nvidia.com> <5230d72e-81fa-4ef1-b386-90bd3b06bf0e@huawei.com> Date: Tue, 23 Jul 2024 13:46:24 +0800 Message-ID: <87wmlcek3z.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-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: BBBE5C001E X-Stat-Signature: h3jwbg71zes9hw5ccspozfmsx6yqz8q7 X-HE-Tag: 1721713805-93334 X-HE-Meta: U2FsdGVkX18nwSt0jiasIZI6n8eKXrRJZbvEyyhOpO6iVXxsNr47zM3Gpbtn4Y3fP+I4fZHcGIPZ4ug+MH7TLphEj/aay0EAtL+pZUD2uwpwiABV0Mcdvn+rThPgyOaKuASkQC01MDgpGXFVZMcWj8aCiBZ1SED9AT2duSART0WlcaV6H8xkYdRIubbxDBUvnwZ+BsRnX8wQlWgMiku8kxdMymJ8/PfTIygUatVdL6ne3BzXJHcQAsnctnsn6EP+kY27xq6k4NZLOzMy0VHTD91QgljNBI7pEiBfTn0ZzGViWekNPzSUVqKqxM8ce6EalSU/qW1K7fOIhRxT882ax8c7Numn0Tm2IHyHWWkWaKdRbG9UvRGDMeFrwzbtpNwb0N0rUPI/GBha1QUzxZjtKhGGjStWlAehru7qOwiCuogPFBjzyl11LSVhOJLIjf9mdMk5E7VkVJthG7CQdPAXZbBUmrSl+CU9x/egqyNwUmCnaIn3NvVpu/juFG6AQY/aMqEQj2ZKJsUDIVm3rgf++9wKI/7xsT5KuVzVxzDcgFBqQb72/PORPQtTWK143YzhVxWjuBtbbRvIypTUY9p37IhzSWB32n1ufBD3MG/dDupuQsfkscClqfCRxnZrE/PZ+4hyMk9sQBDVjkRvftE3WGoaGjviYom1Os/SweaNhf2Pio3Wt+Nv2ZYQZ7mlSwPO7FQrQt697ZCH6R6yowYmHFdOJfoD7YkE7m5Lx2N8TonoVGj0IqHXMLHYrN+DJJKzNBqHksXNNKhOmOrUR2Dc5nnKNuhGk1Nro6wwGAdYLWFg9yWO4C6VJ1OD/bawGiY6PHqmgaTgUdd3pu8DOX7E/5kd43XXf1Gyg5/QAvPDmvgRcGEeZyxwsoz7Mmz4RKltuFmD475EbsA4NwMpjCliOgHxoQV9Fg88IHWXr6rWazjQd9VqpxtkFHJrv9cql8V12LcVQl/3WGqnSI3rNml s0GE2adQ CUMtIgHMUfCbp4NGXK0lduwzyOcJ5+aytLEPYLjJ0Pfeqc23bG10IEGFN5hz6bMUOqFDH9kOCGO25wFHd1IBa5aGMa1V+Zu0f7hw+xMBO0eWIo683aHEBAqzGzyi0E4BpEtZkcLQCgtPdamgmya/5/bc2bRXqAtwi1CtltRcdwxVcIXh825/wINrn1csnFcImic8y1j2hDv/MTBm4jhK62hBNENLc5Yy9j2/vWMpDlIxzafGS8IzPYaKprhAJziR7ZYLwJHo+nuEBU1Z8oEzVuOvK17l0tBbcyJNLWiQbXbM4g9U= 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: Kefeng Wang writes: > On 2024/7/23 9:54, Zi Yan wrote: >> On Mon Jul 22, 2024 at 9:48 PM EDT, Kefeng Wang wrote: >>> >>> >>> On 2024/7/23 1:29, Zi Yan wrote: >>>> memory tiering can be enabled/disabled at runtime and >>>> sysctl_numa_balancing_mode & NUMA_BALANCING_MEMORY_TIERING is used to check >>>> it. In migrate_misplaced_folio(), the check is missing when >>>> PGPROMOTE_SUCCESS is incremented. Add the missing check. >>>> >>>> Reported-by: Kefeng Wang >>>> Closes: https://lore.kernel.org/linux-mm/f4ae2c9c-fe40-4807-bdb2-64cf2d716c1a@huawei.com/ >>>> Fixes: 33024536bafd ("memory tiering: hot page selection with hint page fault latency") >>>> Signed-off-by: Zi Yan >>> >>> Reviewed-by: Kefeng Wang >>> >> Thanks. >> >>>> --- >>>> mm/migrate.c | 4 +++- >>>> 1 file changed, 3 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/mm/migrate.c b/mm/migrate.c >>>> index bdbb5bb04c91..b819809da470 100644 >>>> --- a/mm/migrate.c >>>> +++ b/mm/migrate.c >>>> @@ -2630,7 +2630,9 @@ int migrate_misplaced_folio(struct folio *folio, struct vm_area_struct *vma, >>>> putback_movable_pages(&migratepages); >>>> if (nr_succeeded) { >>>> count_vm_numa_events(NUMA_PAGE_MIGRATE, nr_succeeded); >>>> - if (!node_is_toptier(folio_nid(folio)) && node_is_toptier(node)) >>>> + if ((sysctl_numa_balancing_mode & NUMA_BALANCING_MEMORY_TIERING) >>>> + && !node_is_toptier(folio_nid(folio)) >>>> + && node_is_toptier(node)) >>>> mod_node_page_state(pgdat, PGPROMOTE_SUCCESS, >>>> nr_succeeded); >>> >>> The should be in advance of patch2, and change above to use >>> folio_has_cpupid() helper() too. >> It shares the same logic of !folio_has_cpupid() but it might be >> confusing to >> put !folio_has_cpupid(folio) && node_is_toptier(node) here. folio's >> cpupid has nothing to do with the stats here, thus I did not use the >> function. > > If folio don't include access time, we do migrate it but it isn't a > promotion, so don't count it, other comments? Personally, I prefer to use !node_is_toptier() && node_is_toptier() here. That sounds more natural for me. > PS: Could we rename folio_has_cpupid() to folio_has_access_time(), > even without memory_tiering, we still have cpupid in folio, right? -- Best Regards, Huang, Ying