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 5BC77C433FE for ; Thu, 31 Mar 2022 06:37:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5F0476B0072; Thu, 31 Mar 2022 02:37:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 59FDA6B0073; Thu, 31 Mar 2022 02:37:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 440918D0001; Thu, 31 Mar 2022 02:37:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.28]) by kanga.kvack.org (Postfix) with ESMTP id 309436B0072 for ; Thu, 31 Mar 2022 02:37:57 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id C791B22086 for ; Thu, 31 Mar 2022 06:37:56 +0000 (UTC) X-FDA: 79303726152.11.7016A78 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by imf03.hostedemail.com (Postfix) with ESMTP id 691C620004 for ; Thu, 31 Mar 2022 06:37:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1648708675; x=1680244675; h=from:to:cc:subject:references:date:in-reply-to: message-id:mime-version; bh=MiCqQF7S4WcgWnmHfvAOH9kXcPnWEw2B7ho8mOJRjfk=; b=mWB6KDDvfYliY9Q7J95lH7JzqL66M6fqSb5PaMyg35Z86Mr0GqJrKz0W u7nrDBaugXPZFHIW3APPN0Zngm3l+5z4kc4taOE5qUFGq+Kl+DtnKBNeu 80bl9Sg8R8wKUdQOny2qSixmhF1x1veMQYaNJltdbC+RtqjQUFfyqxkfs LOO2ZaOKwbynYFP92NvkeWX+nIAsXzd5fry/5ZHfg4wW3E6Mm1J1j2TQ9 lryFzLR79K4Lc4agXS1iLZAG3L11zZEtj0nTphbF4hJtsA/yVMh6gdGwC qP1EMoyued003wJkbdVY45ooU0bNkaQSX3M8+vQe+c/omwhURLI9nruvh A==; X-IronPort-AV: E=McAfee;i="6200,9189,10302"; a="346171315" X-IronPort-AV: E=Sophos;i="5.90,224,1643702400"; d="scan'208";a="346171315" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2022 23:37:50 -0700 X-IronPort-AV: E=Sophos;i="5.90,224,1643702400"; d="scan'208";a="547182921" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.239.13.94]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2022 23:37:48 -0700 From: "Huang, Ying" To: Muchun Song Cc: Miaohe Lin , Andrew Morton , Linux Memory Management List , LKML Subject: Re: [PATCH 1/8] mm/vmscan: remove redundant folio_test_swapbacked check when folio is file lru References: <20220329132619.18689-1-linmiaohe@huawei.com> <20220329132619.18689-2-linmiaohe@huawei.com> Date: Thu, 31 Mar 2022 14:37:46 +0800 In-Reply-To: (Muchun Song's message of "Wed, 30 Mar 2022 16:13:06 +0800") Message-ID: <87lewqbpad.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 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 691C620004 X-Stat-Signature: jdaam148a3azr3zo9ghik65qryb4aqmu Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=mWB6KDDv; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf03.hostedemail.com: domain of ying.huang@intel.com has no SPF policy when checking 192.55.52.43) smtp.mailfrom=ying.huang@intel.com X-Rspam-User: X-HE-Tag: 1648708675-948655 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: Muchun Song writes: > On Tue, Mar 29, 2022 at 9:26 PM Miaohe Lin wrote: >> >> When folio is file lru, folio_test_swapbacked is guaranteed to be true. So >> it's unnecessary to check it here again. No functional change intended. >> >> Signed-off-by: Miaohe Lin >> --- >> mm/vmscan.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/mm/vmscan.c b/mm/vmscan.c >> index 1678802e03e7..7c1a9713bfc9 100644 >> --- a/mm/vmscan.c >> +++ b/mm/vmscan.c >> @@ -1434,8 +1434,7 @@ static void folio_check_dirty_writeback(struct folio *folio, >> * Anonymous pages are not handled by flushers and must be written >> * from reclaim context. Do not stall reclaim based on them >> */ >> - if (!folio_is_file_lru(folio) || >> - (folio_test_anon(folio) && !folio_test_swapbacked(folio))) { >> + if (!folio_is_file_lru(folio) || folio_test_anon(folio)) { > > At least your login is no problem since folio_is_file_lru() is equal to > !folio_test_swapbacked(). But the new code is not clear to me. > The old code is easy to understand, e.g. folio_test_anon(folio) && > !folio_test_swapbacked(folio) tells us that the anon pages which > do not need to be swapped should be skipped. That is for MADV_FREE pages. The code is introduced in commit 802a3a92ad7a ("mm: reclaim MADV_FREE pages"). So I think the original code is better. It's an implementation detail that folio_is_file_lru() equals !folio_test_swapbacked(). It may be better to add some comments here for MADV_FREE pages. > So I'm neutral on the patch. Best Regards, Huang, Ying