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 17DDAC433EF for ; Mon, 11 Apr 2022 11:51:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5E9A86B0073; Mon, 11 Apr 2022 07:51:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5979C6B0075; Mon, 11 Apr 2022 07:51:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 45EFD6B0074; Mon, 11 Apr 2022 07:51:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0071.hostedemail.com [216.40.44.71]) by kanga.kvack.org (Postfix) with ESMTP id 342E96B0072 for ; Mon, 11 Apr 2022 07:51:03 -0400 (EDT) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id D343FA866C for ; Mon, 11 Apr 2022 11:51:02 +0000 (UTC) X-FDA: 79344431964.30.B44A219 Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by imf18.hostedemail.com (Postfix) with ESMTP id 995441C0002 for ; Mon, 11 Apr 2022 11:51:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1649677861; x=1681213861; h=message-id:subject:from:to:cc:date:in-reply-to: references:mime-version:content-transfer-encoding; bh=+dgU86UwUCyAYn8649X0AQlN4MKbtuA/88ovTvxs994=; b=n8iKF8pJ9YD8h5IcY9ylUNFy/bBox5YQNgvf92NU181unn5R9aqG1D1U P9FfQahQpgPgliXiIJbrvaN0YH721QAjNFw40FtyxSCg37Y4mKuLjVhcO PsWwqVITTxNpBGstnLVo+yZN8X+BYvPx7UCHyY2T8sLq35/ylNYKcbm1R htCkIxPUrgCXtJNDp0EuEUk2Ed3enDBm+OUhiIvwJ8jeO/REK3KHNQCKw vPZCZBKvc4H5FBhS2QxKIQptt98Dm+iw7sG+2TTSpgj8GobmbaOANpQ29 za/M0VofP1UmsT7vJL5M2mtnmUPZarmwvi2Ue6Q/nvKm380o5oq4AV9yc Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10313"; a="322540047" X-IronPort-AV: E=Sophos;i="5.90,251,1643702400"; d="scan'208";a="322540047" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Apr 2022 04:50:46 -0700 X-IronPort-AV: E=Sophos;i="5.90,251,1643702400"; d="scan'208";a="551106292" Received: from leichu-mobl1.ccr.corp.intel.com ([10.254.213.5]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Apr 2022 04:50:45 -0700 Message-ID: <4b7923585e07b0238545ebb997af92eeadcdaf78.camel@intel.com> Subject: Re: [PATCH v2 1/9] mm/vmscan: add a comment about MADV_FREE pages check in folio_check_dirty_writeback From: "ying.huang@intel.com" To: Miaohe Lin , akpm@linux-foundation.org Cc: songmuchun@bytedance.com, hch@infradead.org, willy@infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Date: Mon, 11 Apr 2022 19:50:42 +0800 In-Reply-To: <20220409093500.10329-2-linmiaohe@huawei.com> References: <20220409093500.10329-1-linmiaohe@huawei.com> <20220409093500.10329-2-linmiaohe@huawei.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 X-Stat-Signature: 3gd8g8sjtju3585gi8nn6e9wz19udtzr Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=n8iKF8pJ; spf=none (imf18.hostedemail.com: domain of ying.huang@intel.com has no SPF policy when checking 134.134.136.31) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com X-Rspam-User: X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 995441C0002 X-HE-Tag: 1649677861-404463 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 Sat, 2022-04-09 at 17:34 +0800, Miaohe Lin wrote: > The MADV_FREE pages check in folio_check_dirty_writeback is a bit hard = to > follow. Add a comment to make the code clear. >=20 > Suggested-by: Huang, Ying > Signed-off-by: Miaohe Lin > --- > =C2=A0mm/vmscan.c | 3 +++ > =C2=A01 file changed, 3 insertions(+) >=20 > diff --git a/mm/vmscan.c b/mm/vmscan.c > index c77d5052f230..4a76be47bed1 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -1436,6 +1436,9 @@ static void folio_check_dirty_writeback(struct fo= lio > *folio, > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0/* > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Anonymous pages are = not handled by flushers and must be written > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * from reclaim context= . Do not stall reclaim based on them > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * MADV_FREE anonymous pages= are put into inactive file list too. > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * They could be mistakenly = treated as file lru. So further anon > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * test is needed. > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */ How about something as follows, /* * Anonymous pages (including MADV_FREE ones) are not handled by * flushers and must be written from reclaim context. Do not stall * reclaim based on them */. Best Regards, Huang, Ying > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if (!folio_is_file_lru(= folio) || > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (fol= io_test_anon(folio) && !folio_test_swapbacked(folio))) {