Received: by 2002:ab2:3350:0:b0:1f4:6588:b3a7 with SMTP id o16csp1798983lqe; Mon, 8 Apr 2024 23:54:15 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVLV+NztSMuqF1Tq94Dvyrxr7ZAgakUBSRyPZNI47DSS4lfDXbEG//7Tx3K6N1rSXrQ7iYOCPmQjsM/Z+v6mEf/PJAbXoK3TMRIt+4guQ== X-Google-Smtp-Source: AGHT+IH9dwygRCG0zzPCt7NwseWMO19xpGrsswi5uk4mtLwJDpV88z14JtbpNFmqjrbILemu51zk X-Received: by 2002:a05:6a20:3cab:b0:1a7:8b88:963c with SMTP id b43-20020a056a203cab00b001a78b88963cmr3416742pzj.20.1712645655471; Mon, 08 Apr 2024 23:54:15 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712645655; cv=pass; d=google.com; s=arc-20160816; b=1IeJroXIcTWdBpme9HNd2rw4nxdogmpY7+lSVmICZ6gBQfY302s8bF4kPSU1IuOolM /JwewixdLUuTOI90VjvIr6u5BHtewyiNiOfIWMocbUQhUj3TMA+bq+5nZOYxtSH4q+tr z2dioHmXQ4287amGf+YkZerrQsb0DdHLtBEu02A79ii4L1ZM28+TUScJ8+IYAs0DkvmJ edhQSgs+OHfvjJNHr8UdYYV1d2K6TFzeabIGCCS7EGuzhwUvVZm2b77A9Zh79tma86/F XYxDOHyqjGHctopuk3I4HebE/ND6Pmw2Ab2TZpIWEbyZT8gb+l/ZMdl54l+tg91aGT2l VJ+g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :user-agent:message-id:date:references:in-reply-to:subject:cc:to :from:dkim-signature; bh=8sk70WcfIvGks9xz1Fn9Qmt5Bil00Gde4GuJmAoHF2w=; fh=gR0ANKFgYi/Eapb1BizfUJ0jVvalnZO0OOWWQYC38GA=; b=jBhypz+ZK1rWylqL+IEnc0WqvBpV08ZCdsuMdo+lSFFv25FX+i01uWytPtOBzZBL3g jwoYa4+XKglFMx5xZlX9jEPc/AgCQAIOnC3ShCVUBnUJtNB8Pscvo8VLwITgT5XaDPR9 mAhWMr3njmQ42/MgZMWfQKCZcx+z9yyQR/yjpr0ux4mkONwEjgGsS3edNzC2uV91tx3m 8w3Rtd7PQFhKRCfVTGNkVjYMgyY7H5/8JON3cHVxhqRS1cU3UHIUlFn61ag/Py48+GPd Uj6rtCdMpRlNi9jDeOrNyc63qH2e4pW0GRm0hciMskyoaWeZLdMniTdYHejyke1B589e e67g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=XyeQe9HU; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel+bounces-136326-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-136326-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id y5-20020a17090a134500b002a2ac468596si8149709pjf.9.2024.04.08.23.54.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Apr 2024 23:54:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-136326-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=XyeQe9HU; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel+bounces-136326-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-136326-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 085CCB21ED5 for ; Tue, 9 Apr 2024 06:52:55 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1EA18763FC; Tue, 9 Apr 2024 06:52:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="XyeQe9HU" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A820E537E6; Tue, 9 Apr 2024 06:52:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712645565; cv=none; b=PFgr9f1M1E+8gdT5aYI5EE0FLQEHaRD203y80+CzmBVvWPxw3GVI9Sq2rN6MUTfj5rfXhC0vrxOBnOZet4ePNRsTwqTotx9tc08atvEM6rZ6wZLq6rSY1IC9fVF+xo+rDuYosjT5I8YTyIibm1LwGIt02rrxJQ1qADFM3wCpurM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712645565; c=relaxed/simple; bh=Zle6FAHr+wtJCiFQxUsaRDq7UJ+UY3tgUpSmO7Qbp7M=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=EbatQSdffTm5YLO4z8KLzNdA8f2ok+LPc9MSRz+R1BkvgC0+7K+j9wiXn3ljRuTfeIiXDLxxqrO+8wQfQmQkaKLU4UMjvz35sbv2uzCIcomR7pGsp4ZHCsHNhmm75w1jO4u8FkXG9NqZFduKCCo850dGZ4HAbjfzMxZQdf/VTJo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=XyeQe9HU; arc=none smtp.client-ip=192.198.163.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1712645564; x=1744181564; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version; bh=Zle6FAHr+wtJCiFQxUsaRDq7UJ+UY3tgUpSmO7Qbp7M=; b=XyeQe9HUG31AKvMYHggYeANmWOmoH5Wgyj9/bPVOJd6kT20hqyPKlcQ2 SSta4BqXfaXZ0jh6pPq5J6mFinmasS90p2MeYUF/UYzpjGCBx2YxMlkrb xhPaytb4CFrRJMQiD4YoHUCl2x/lfeym/xZUs7TuyS7q1Jl3O5CmIu8kr tMfsZdFNbLed+iF4OOSx/z7MHRsK+7vx42pD0iGF+8Mpp2nVDHhQjcHJi 3607/vyBxs6MjVUb9f2mXJzsFM4B02Ue/Gw92SHu3/G6sVrSy8AIST6HP XBPse5Gz5Z8bbvMfBInxd0yg/UiBAGqgAwPh0Rjo5G933WLKVvAmy+kWg A==; X-CSE-ConnectionGUID: +kEAxvbLQvaMa39NrbeZNQ== X-CSE-MsgGUID: 4jer2gSGSnecslZPHqTEog== X-IronPort-AV: E=McAfee;i="6600,9927,11038"; a="7792757" X-IronPort-AV: E=Sophos;i="6.07,188,1708416000"; d="scan'208";a="7792757" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa112.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Apr 2024 23:52:43 -0700 X-CSE-ConnectionGUID: QV3bAUOnS1Gi+AaB9c/ZEg== X-CSE-MsgGUID: TqDHlEfCS5CC6TUhVnmpVA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,188,1708416000"; d="scan'208";a="20157423" Received: from unknown (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by fmviesa006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Apr 2024 23:52:35 -0700 From: "Huang, Ying" To: Yuanchu Xie Cc: David Hildenbrand , "Aneesh Kumar K.V" , Khalid Aziz , Henry Huang , Yu Zhao , Dan Williams , Gregory Price , Wei Xu , David Rientjes , Greg Kroah-Hartman , "Rafael J. Wysocki" , Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Shuah Khan , Yosry Ahmed , Matthew Wilcox , Sudarshan Rajagopalan , Kairui Song , "Michael S. Tsirkin" , Vasily Averin , Nhat Pham , Miaohe Lin , Qi Zheng , Abel Wu , "Vishal Moola (Oracle)" , Kefeng Wang , linux-kernel@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: Re: [RFC PATCH v3 1/8] mm: multi-gen LRU: ignore non-leaf pmd_young for force_scan=true In-Reply-To: <20240327213108.2384666-2-yuanchu@google.com> (Yuanchu Xie's message of "Wed, 27 Mar 2024 14:31:00 -0700") References: <20240327213108.2384666-1-yuanchu@google.com> <20240327213108.2384666-2-yuanchu@google.com> Date: Tue, 09 Apr 2024 14:50:42 +0800 Message-ID: <875xwr81x9.fsf@yhuang6-desk2.ccr.corp.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=ascii Yuanchu Xie writes: > When non-leaf pmd accessed bits are available, MGLRU page table walks > can clear the accessed bit and promptly ignore the accessed bit on the > pte because it's on a different node, so the walk does not update the > generation of said page. When the next scan comes around on the right > node, the non-leaf pmd accessed bit might remain cleared and the pte > accessed bits won't be checked. While this is sufficient for > reclaim-driven aging, where the goal is to select a reasonably cold > page, the access can be missed when aging proactively for measuring the > working set size of a node/memcg. > > Since force_scan disables various other optimizations, we check > force_scan to ignore the non-leaf pmd accessed bit. > > Signed-off-by: Yuanchu Xie > --- > mm/vmscan.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 4f9c854ce6cc..1a7c7d537db6 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -3522,7 +3522,7 @@ static void walk_pmd_range(pud_t *pud, unsigned long start, unsigned long end, > > walk->mm_stats[MM_NONLEAF_TOTAL]++; > > - if (should_clear_pmd_young()) { > + if (!walk->force_scan && should_clear_pmd_young()) { > if (!pmd_young(val)) > continue; Sorry, I don't understand why we need this. If !pmd_young(val), we don't need to update the generation. If pmd_young(val), the bloom filter will be ignored if force_scan == true. Or do I miss something? -- Best Regards, Huang, Ying