Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp812930iog; Wed, 15 Jun 2022 12:57:25 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vGAglBhjC/M5Q/20Yl+8nXGA9PB9WihujZ832W62jl2M1yHKckJkYNri+3ZSedfr9h5lFX X-Received: by 2002:aa7:99da:0:b0:51b:ed38:c409 with SMTP id v26-20020aa799da000000b0051bed38c409mr1082056pfi.37.1655323045189; Wed, 15 Jun 2022 12:57:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655323045; cv=none; d=google.com; s=arc-20160816; b=Kel2g4CnioiZJ18UBMIw1z/u/1KsjRBK/1WH5Glb7KPreoZsPGIE3STMLjNXrNZ7kr BYcUtAb7oloVlF8bKFViOeIUT1gLJy5GHaKrlHK1ib2dSI+WKJF9VQdNTBjj4fUKo8uS iCUeusazjxcuEpO3VwMDjDtbNAXsyvD5XPFwiykircwAcwc0hPWCY/vy2FLlfMudrlOZ ybAGGA9OTmJq212zSbd/wTEjnllid4QIF9AE93lb2/r20EYIWG3fqgjI6DdfYw2A12Ym cEg/OdqISRy2eQaxgywQlPsjP8okbG5HueFha/smx71mJYpnSETBg7eyyLyzWF/LfVfk 5rfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=vJXdLmcQUyrb4VKNR1Dojq9lVpq1SvOPdHlcqg6WF3s=; b=aemZ1Jd6/1BWD0NE8wlwq4q6pSDb4rldyZAcnkLfKqM7pw+cC0IALxbjq9YgyrEDQA mLp0VMcMloD1QXHiRFcZlQ+xxShj7b5G1qZnJaYPSSCjPxRWk1RYDgBTuc8Qc6Afe2QW Zb+X7wcMujytKStoHsJ59/R2mO9fpX64fzZ36wH3q/UxqlrI6ZjUkFHtLjp73ZJ7vDqS iltMtdvsRK9/TbRox+wFu0DQ09HfQuCBOvUhJ9y2cA59fByXq5jTKVM0DDU/B3wKmlWM Ks7IqWGJg+t9KRlCiSD7HgFyLStHQUBF0m2hn2AZgdso7LHtQruev9DUNQBSjKnVCsHa J38Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=DuaOiTeN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w17-20020a056a0014d100b0050df0383302si15795pfu.255.2022.06.15.12.57.12; Wed, 15 Jun 2022 12:57:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=DuaOiTeN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1356543AbiFOSSt (ORCPT + 99 others); Wed, 15 Jun 2022 14:18:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59874 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243664AbiFOSSs (ORCPT ); Wed, 15 Jun 2022 14:18:48 -0400 Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 228054EF40 for ; Wed, 15 Jun 2022 11:18:48 -0700 (PDT) Received: by mail-pl1-x629.google.com with SMTP id i15so11112774plr.1 for ; Wed, 15 Jun 2022 11:18:48 -0700 (PDT) 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=vJXdLmcQUyrb4VKNR1Dojq9lVpq1SvOPdHlcqg6WF3s=; b=DuaOiTeN5VpIwVKopMWgQ+RG1ALSGpah21F52G7gtoz7YAIQMdyC5z3gPT+/a7n73B 5OYry0sjeIEa39VjtdjfY2UAouGqK+B9/PpSodnJ8kuId6t3feBc6yDVXDrZsQayJ3iW pXjsZW6adkWX/mxICwRjX/NkD/R3mf7SCJmKJ7hWP3+5BzaCkzPqXeyQl9zJPDjWL55L aclzC6udevrjJsjfSLm3QeavXQr3xaxFcts5rxPxJKbjyLqhmtEqNb42jUMTP2qyB/vc NJhYd7urPQ/nP/b8MewpNtLzeuB3cqwXu5XIll351C7LKGXLxPNti8EfUUTf0maD1FdM rGpg== 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=vJXdLmcQUyrb4VKNR1Dojq9lVpq1SvOPdHlcqg6WF3s=; b=2k043YrLjTmkiprTYVdVGWxXiu5bZ8mf4u7V1KXDzrHjnSNYIpQOSMSjsZgLRMyCd8 RHlRm7HJsbfj9TZz6d/nS4cvBfez9b+KRTp30lgnsZ8V1mGiv6Me7VQUKBhGVtV9bBqP oyurzlBjUJ7QFv5QtdBZ0wobKMUPPq1UVAulbPf1DsjeWFZiLPluObI2Z1mC+f8wxmA6 HdnJAhrI+IKujSAz8WMXmglALbX0dOy5iVdNi+OVW4wJzcRhpPrxkHZ60hyAL//OvGMA dVKFCJ2RRJVE4DXEWjjrt6wKG4Rrqde8tFqXWUJTYB+mcBnoWi4RjTi82auqYBRORedN JIUw== X-Gm-Message-State: AJIora9Wag3siZaONT8LiRLnMuw0PjWEMmT2TAsX21TTwktSaoOA4CbH NKdvSaQAbPEfD9XahQiCboNhO6dIS8E6kmW+3QQ= X-Received: by 2002:a17:90a:ce84:b0:1e4:d803:fad with SMTP id g4-20020a17090ace8400b001e4d8030fadmr11878546pju.99.1655317127677; Wed, 15 Jun 2022 11:18:47 -0700 (PDT) MIME-Version: 1.0 References: <20220611084731.55155-1-linmiaohe@huawei.com> <20220611084731.55155-5-linmiaohe@huawei.com> In-Reply-To: From: Yang Shi Date: Wed, 15 Jun 2022 11:18:35 -0700 Message-ID: Subject: Re: [PATCH 4/7] mm/khugepaged: minor cleanup for collapse_file To: "Zach O'Keefe" Cc: Miaohe Lin , Andrew Morton , Andrea Arcangeli , Matthew Wilcox , Vlastimil Babka , David Howells , NeilBrown , Alistair Popple , David Hildenbrand , Suren Baghdasaryan , Peter Xu , Linux MM , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 15, 2022 at 8:55 AM Zach O'Keefe wrote: > > On 11 Jun 16:47, Miaohe Lin wrote: > > nr_none is always 0 for non-shmem case because the page can be read from > > the backend store. So when nr_none ! = 0, it must be in is_shmem case. > > Also only adjust the nrpages and uncharge shmem when nr_none != 0 to save > > cpu cycles. > > > > Signed-off-by: Miaohe Lin > > --- > > mm/khugepaged.c | 9 ++++----- > > 1 file changed, 4 insertions(+), 5 deletions(-) > > > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > > index 1b5dd3820eac..8e6fad7c7bd9 100644 > > --- a/mm/khugepaged.c > > +++ b/mm/khugepaged.c > > @@ -1885,8 +1885,7 @@ static void collapse_file(struct mm_struct *mm, > > > > if (nr_none) { > > __mod_lruvec_page_state(new_page, NR_FILE_PAGES, nr_none); > > - if (is_shmem) > > - __mod_lruvec_page_state(new_page, NR_SHMEM, nr_none); > > + __mod_lruvec_page_state(new_page, NR_SHMEM, nr_none); > > } > > > Might be worth a small comment here - even though folks can see in above code > that this is only incremented in shmem path, might be nice to say why it's > always 0 for non-shmem (or conversely, why it's only possible to be non 0 on > shmem). Agreed, better to have some comments in the code. > > > > > /* Join all the small entries into a single multi-index entry */ > > @@ -1950,10 +1949,10 @@ static void collapse_file(struct mm_struct *mm, > > > > /* Something went wrong: roll back page cache changes */ > > xas_lock_irq(&xas); > > - mapping->nrpages -= nr_none; > > - > > - if (is_shmem) > > + if (nr_none) { > > + mapping->nrpages -= nr_none; > > shmem_uncharge(mapping->host, nr_none); > > + } > > > > xas_set(&xas, start); > > xas_for_each(&xas, page, end - 1) { > > -- > > 2.23.0 > > > > > > Otherwise, > > Reviewed-by: Zach O'Keefe >