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 C3400C433EF for ; Fri, 17 Dec 2021 19:08:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4CDDE6B0078; Fri, 17 Dec 2021 14:08:17 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 47BDE6B007B; Fri, 17 Dec 2021 14:08:17 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 344146B007D; Fri, 17 Dec 2021 14:08:17 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0254.hostedemail.com [216.40.44.254]) by kanga.kvack.org (Postfix) with ESMTP id 26CE16B0078 for ; Fri, 17 Dec 2021 14:08:17 -0500 (EST) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id E8C147F4F3 for ; Fri, 17 Dec 2021 19:08:06 +0000 (UTC) X-FDA: 78928221372.26.7EAF667 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) by imf30.hostedemail.com (Postfix) with ESMTP id F234980023 for ; Fri, 17 Dec 2021 19:08:05 +0000 (UTC) Received: by mail-ed1-f54.google.com with SMTP id e3so11643411edu.4 for ; Fri, 17 Dec 2021 11:08:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WK+ToRqRpjFtq55fzYiMQ1E3tNzI8dYyryjt+FG5VtA=; b=e3QOqhJFnWNU33dn6TdBmexF6Tj1Ak7tnkpcMVyJfCT0u0P8ryrezyUiXLZfV3VbJ0 2G9O9DuPHQ6udecssDn3Tk2EFn6tJHwYNPrDaW9+4R/QAg5nBeUVngPwmhyBRzWvnLRY TtVzMMJfYcm5sdj9uORbLvFDR1UOT7LFi0EOAtYyXmFoxTN3xsgtl6VNVyYdYbiPshd2 YBBapDFxpVF6HY/m8xNCYiOg1tvdqhtus9Ql8+kS3jBIY9fQvswUAn2acIY6CMDaEYLR JZ+Mb+0Tp/SdWbk6XyNv5K8lJXQbQm8ULUIxB6VGbgfvxLPTDNrDVOFcZRANVR2S8YKs KBvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WK+ToRqRpjFtq55fzYiMQ1E3tNzI8dYyryjt+FG5VtA=; b=1Q2SAdKoeouULvZIy00VtyPHoOeteFqiIjpb55PIbIIGXmr4flsQM6tIjZn1gKYlV0 1i/7u+gn78s555l7XdY4yUhbmAHNDMHkslRBphE1HIssoJUrjTIqKIWHFl2v/2XFYBIm 7fUktOCyEdti1DiXChJ+RAymAFTZFWQ+rCoSbiIhZ+0LXIYgzoRZZr8dpzLa5eXlaGGy Ehpfy+opMzTvYzj5/9ghP1q2Q75D5cuvuqKy/PgtS9xXpzcp3WGKmaWX5VLI7wRCTV8j xktGqN0jmnrZFZk3xIvZ+XNVJ+UbrpBs+52Vosgl+tcvnCecxo6Szlc9v3YrJPZtNZpR CzwQ== X-Gm-Message-State: AOAM532dpC6II6jqlQAxcNVsVQqQJbwmTP5c1JuwuxpIC8uVDUj1u4tt F9gllWkTmR2GuwjDoFs5zGwC3eUcLJzbkuMdmZo= X-Google-Smtp-Source: ABdhPJxmvZsapI9CGh3nUlgNVxMedtvtv3rAtu/K2ti94lr2XS6pUN4PkGiaeOCycRylTjivSImbajYp/8Nj+gol7G4= X-Received: by 2002:a05:6402:430e:: with SMTP id m14mr4102234edc.93.1639768084985; Fri, 17 Dec 2021 11:08:04 -0800 (PST) MIME-Version: 1.0 References: <20211217113049.23850-1-david@redhat.com> <20211217113049.23850-4-david@redhat.com> In-Reply-To: <20211217113049.23850-4-david@redhat.com> From: Yang Shi Date: Fri, 17 Dec 2021 11:07:52 -0800 Message-ID: Subject: Re: [PATCH v1 03/11] mm: simplify hugetlb and file-THP handling in __page_mapcount() To: David Hildenbrand Cc: Linux Kernel Mailing List , Andrew Morton , Hugh Dickins , Linus Torvalds , David Rientjes , Shakeel Butt , John Hubbard , Jason Gunthorpe , Mike Kravetz , Mike Rapoport , "Kirill A . Shutemov" , Matthew Wilcox , Vlastimil Babka , Jann Horn , Michal Hocko , Nadav Amit , Rik van Riel , Roman Gushchin , Andrea Arcangeli , Peter Xu , Donald Dutile , Christoph Hellwig , Oleg Nesterov , Jan Kara , Linux MM , linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: F234980023 X-Stat-Signature: frco18yh4k1o655zyikq1zibupaxwfnq Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=e3QOqhJF; spf=pass (imf30.hostedemail.com: domain of shy828301@gmail.com designates 209.85.208.54 as permitted sender) smtp.mailfrom=shy828301@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspamd-Server: rspam10 X-HE-Tag: 1639768085-482067 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 Fri, Dec 17, 2021 at 3:33 AM David Hildenbrand wrote: > > Let's return early for hugetlb, which really only relies on the compound > mapcount so far and does not support PageDoubleMap() yet. Use the chance > to cleanup the file-THP case to make it easier to grasp. While at it, use > head_compound_mapcount(). > > This is a preparation for further changes. > > Reviewed-by: Peter Xu > Signed-off-by: David Hildenbrand Reviewed-by: Yang Shi > --- > mm/util.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/mm/util.c b/mm/util.c > index 741ba32a43ac..3239e75c148d 100644 > --- a/mm/util.c > +++ b/mm/util.c > @@ -732,15 +732,18 @@ int __page_mapcount(struct page *page) > { > int ret; > > - ret = atomic_read(&page->_mapcount) + 1; > + if (PageHuge(page)) > + return compound_mapcount(page); > /* > * For file THP page->_mapcount contains total number of mapping > * of the page: no need to look into compound_mapcount. > */ > - if (!PageAnon(page) && !PageHuge(page)) > - return ret; > + if (!PageAnon(page)) > + return atomic_read(&page->_mapcount) + 1; > + > + ret = atomic_read(&page->_mapcount) + 1; > page = compound_head(page); > - ret += atomic_read(compound_mapcount_ptr(page)) + 1; > + ret += head_compound_mapcount(page); > if (PageDoubleMap(page)) > ret--; > return ret; > -- > 2.31.1 >