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 1B2D6C4332F for ; Tue, 13 Dec 2022 19:14:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 695B28E0003; Tue, 13 Dec 2022 14:14:30 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 646A38E0002; Tue, 13 Dec 2022 14:14:30 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 50DD98E0003; Tue, 13 Dec 2022 14:14:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 3DD668E0002 for ; Tue, 13 Dec 2022 14:14:30 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id F29CA40962 for ; Tue, 13 Dec 2022 19:14:29 +0000 (UTC) X-FDA: 80238234258.22.7209238 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf04.hostedemail.com (Postfix) with ESMTP id 2FBF840020 for ; Tue, 13 Dec 2022 19:14:27 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=amY2ykOo; spf=pass (imf04.hostedemail.com: domain of sj@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1670958868; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=MnLuJSL+rjHqVB4EsbvUoyi7d4euKEWRdnBDijTkp0w=; b=jKNXZdXH7ujdX56F4oXFnKcV3II850qtebrWgnT5Kk5f8fHS9T0izz6LC05/aTKb7c/rrI 6YJtyo4sxmF9QOmvA9EBj8RxZB+Sd6gmQzygWbG1r/t/XtMknmp+rEDiZmRHlysO+zjxGP yaJL8IaES71YIS3YjgAjCv6TG8F+1uQ= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=amY2ykOo; spf=pass (imf04.hostedemail.com: domain of sj@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1670958868; a=rsa-sha256; cv=none; b=IxGMxfW8Hx5/XyXXAHekBlM14VotnmQMqxQmPigEYps2kpI935Tc0GVVnt1PSf8pp13xak L8fSyxRkA2S9VnZlklWPDotqJEqcaIkKmLlx2rxS2VQKqvfRu9pYEeaZ7Og3kyZunXf8Fb 8zVPIc9m79U1TAl/fYoQyV2+cRPQCRY= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 38220B815A5; Tue, 13 Dec 2022 19:14:26 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 33585C433EF; Tue, 13 Dec 2022 19:14:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1670958865; bh=+A016sYxaSG/q1QGBoJdS9q5imi3Rt/lWMe4htZ9ico=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=amY2ykOojrQ4Jx8/+f2rWFfU1kM8bAQ0G2oCuTiZZm3NYNh8y4h7/aSo/lYlxfmNo 1ApivF2IWFWlPLlSBb5Zsl3yF0ePB0SPdIqM5f/ScGaoSwzz3PQ81HuTPdI9n1oINi jxi+c13+rg2O9Zp5hgJTgt+vJez04N1+3ycjA2+31veH5L/TUuLWcVuFR6vTqHADzw hN4ohCP1dbKZC/xo0TXWopoN/Ex7SEDKjeOzSc4Q7ezaf5tuF8bDCryduRRFHYmZiE 8p3KWT0/ggmALc2HIClROyatr9C9ehvCrzCibhLC9+8k2zl4VzBB2EKlk/biPzwWon P90JhLcN53DTA== From: SeongJae Park To: Kefeng Wang Cc: Andrew Morton , David Hildenbrand , Oscar Salvador , SeongJae Park , linux-mm@kvack.org, linux-kernel@vger.kernel.org, damon@lists.linux.dev, vishal.moola@gmail.com, willy@infradead.org Subject: Re: [PATCH -next 2/8] mm: page_idle: Convert page idle to use folios Date: Tue, 13 Dec 2022 19:14:22 +0000 Message-Id: <20221213191422.138595-1-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221213092735.187924-3-wangkefeng.wang@huawei.com> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 2FBF840020 X-Rspam-User: X-Stat-Signature: xo86911nne5d3hawpegaian5tr3yyjup X-HE-Tag: 1670958867-327123 X-HE-Meta: U2FsdGVkX19+RClAWaADCu21/gRWmIt8P0saCyOtRHElGV1sf/7+2ofu9LVi9xqHfMpoPUXPT4Nj/fvHKe/Z2RIHr1V++inRG2sCQNT6pC1E6fHUPNPh0H4V1sNRYbEEHNNvyAbCphq77SUKxlFGGtyEnvI7+vcUYHxSHHDFddskn43GqmjcVTY5CBjOqu/tqqf4E20l2BgczmO1vrkswZMDCbba1lE1eOrVFjD7qgTclx2yDgXfdSt0HrP8OSgaHhVKHa6M8USkXfhT9vSvV3DkdeCS1mppFBCg5/FMDxSH+M3VP4nbLqPR3oHi4u6olOhBLpyiEKyL01IvZQsvdYYNAu1shKmsr5wtw5b5K/eJ16wmPx5TABbyOfkagn/rJ86l0LFE0POeeCypCTbHbLtQwAAWkWZWoBN+X5wJKMaFYOcGLK+FuW2xhCxk101zEkNw5fzlIRB7hIwanjJJVEsEHZSRVCLoDorDZ33Dph/h22HJ4BDw09l9z3qXZvbWIsmqPIQbaJ1dwA/wi25zR+1/KqO2Lmx1Oaw6Ns6Ybt6PoDm4KUOWoh1Or19w52UOhAS+g+TTxb3pwFKfKwbaTwptHw6bbsC0mMOXvb7hL9vwRu7Jj7Qi/vYU0YrS0e2xLL/WFtx1G795dG++roEYpvm5CmgshSkrHjUHDnX2PtRWAObkBLpJ3vtdZBcdlisrn/vLa+FbfBb+60kpL4Dra0EHYta970Wiz2PFnkcwGa3K0uD2d4oxXzy9lASHw+61OVFzKDLkTC2dmxkrW8y3dFhyauqrMqPUiN4WtMJvC5jWnNpY8um6xgQ/51KAz4I62EHJ3T4OJLlHU+52wpraAMme4UiijXEjrcD/jE65the5kb1r7rE4rfrJQH45bLle0CJoOo9VDyKX/kyfc9DBy+MHZaW+PeBKetZgo+aIH4+b1CaCceRJOBZugv5ttAMyxfVBbZ6Wlqc/GoL5FS0 rZJw6AIh 7HHYuMHMV4GcYwCAoxGNRLoWOGdQjjRklZvfyi7LkgzfWMffjw2aAQMn6eM2IKcBoFH7wNi8FGtTCNAS8HeLKMwDTp6qlMA92qDRexNr5mZ+5hUBSv6USFnNuRY1jS/eycQvjmRL/QHN2hlykOCMHa0XGig== 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 Tue, 13 Dec 2022 17:27:29 +0800 Kefeng Wang wrote: > This change and rename all page related function to use folio, > which save many compound_head() calls and kernel text. > > Signed-off-by: Kefeng Wang > --- > mm/page_idle.c | 91 ++++++++++++++++++++++++-------------------------- > 1 file changed, 44 insertions(+), 47 deletions(-) > > diff --git a/mm/page_idle.c b/mm/page_idle.c > index bc08332a609c..38641f94cf49 100644 > --- a/mm/page_idle.c > +++ b/mm/page_idle.c > @@ -19,34 +19,33 @@ > #define BITMAP_CHUNK_BITS (BITMAP_CHUNK_SIZE * BITS_PER_BYTE) > > /* > - * Idle page tracking only considers user memory pages, for other types of > - * pages the idle flag is always unset and an attempt to set it is silently > + * Idle folio tracking only considers user memory folios, for other types of > + * folios the idle flag is always unset and an attempt to set it is silently > * ignored. I think this might make future readers confused, as the code and comments will call this subsystem as Idle _folio_ tracking while the user interface and the document calls it as Idle _page_ tracking. > * > - * We treat a page as a user memory page if it is on an LRU list, because it is > - * always safe to pass such a page to rmap_walk(), which is essential for idle > - * page tracking. With such an indicator of user pages we can skip isolated > - * pages, but since there are not usually many of them, it will hardly affect > + * We treat a folio as a user memory folio if it is on an LRU list, because it is > + * always safe to pass such a folio to rmap_walk(), which is essential for idle > + * folio tracking. With such an indicator of user folios we can skip isolated > + * folios, but since there are not usually many of them, it will hardly affect > * the overall result. > * > - * This function tries to get a user memory page by pfn as described above. > + * This function tries to get a user memory folio by pfn as described above. > */ > -static struct page *page_idle_get_page(unsigned long pfn) > +static struct folio *folio_idle_get_folio(unsigned long pfn) > { > - struct page *page = pfn_to_online_page(pfn); > + struct folio *folio = pfn_to_online_folio(pfn); > > - if (!page || !PageLRU(page) || > - !get_page_unless_zero(page)) > + if (!folio || !folio_test_lru(folio) || !folio_try_get(folio)) > return NULL; As Matthew also mentioned, you changed the behavior. It looks like a right behavior if we call this function folio_idle_get_folio(), but it shouldn't. page_idle_get_folio() would be a better name in my humble opinion. So, unless we're gonna change the behavior of this subsystem (which wouldn't be the case as it would break users), I think it would be better to keep the name of this subsystem as Idle page tracking and avoid unnecessary renaming changes. Thanks, SJ