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 X-Spam-Level: X-Spam-Status: No, score=-0.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CAB87C54FD0 for ; Fri, 24 Apr 2020 13:18:00 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 8DE6E20776 for ; Fri, 24 Apr 2020 13:18:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=cmpxchg-org.20150623.gappssmtp.com header.i=@cmpxchg-org.20150623.gappssmtp.com header.b="Atr43ao9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8DE6E20776 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=cmpxchg.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 249F88E0005; Fri, 24 Apr 2020 09:18:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1F9678E0003; Fri, 24 Apr 2020 09:18:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0E95F8E0005; Fri, 24 Apr 2020 09:18:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0047.hostedemail.com [216.40.44.47]) by kanga.kvack.org (Postfix) with ESMTP id E744F8E0003 for ; Fri, 24 Apr 2020 09:17:59 -0400 (EDT) Received: from smtpin24.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id A4B42180AD811 for ; Fri, 24 Apr 2020 13:17:59 +0000 (UTC) X-FDA: 76742801478.24.slope51_289f34e4c6659 X-HE-Tag: slope51_289f34e4c6659 X-Filterd-Recvd-Size: 5702 Received: from mail-qt1-f194.google.com (mail-qt1-f194.google.com [209.85.160.194]) by imf06.hostedemail.com (Postfix) with ESMTP for ; Fri, 24 Apr 2020 13:17:59 +0000 (UTC) Received: by mail-qt1-f194.google.com with SMTP id i68so7795054qtb.5 for ; Fri, 24 Apr 2020 06:17:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=nPp4Fkp75TEBfpm7cKyWA2kvnH2hSlbLU+MVnWcfyh4=; b=Atr43ao974R+BMIZNb+OYcLhlfo2zsmdf5y8BiIjcAT4NgliMSPjCqtW53rdUo1Bfr QUehpUJHHnFx/44L33TQwvEXxxSu4pJ+PiOaO88lorAdbGctTUs5smsKPNa3e2KgGoLf Wrp6F6NmcmMRpyOy2p4u5LCSbZSGJsIs82ESaULj7aSwELcrmNVGCeu0Ygd7lCqhm2I3 4zbtAbQYKa/UetOEYUwZDU0EwJoj5bEvEvkGweCu0k2C4ytz4uoF8lZW2ESTVYmMrgL1 HF2k5/r6tpkoB6i8tKMTghBMnaluRjJxJylojQZcr5IeGIKv3yWfIk1d5QFv6/poOQcp 8u9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=nPp4Fkp75TEBfpm7cKyWA2kvnH2hSlbLU+MVnWcfyh4=; b=Yc9Yepgu3uNaMHoJnc28Id7KYRzPfj3fsr2j4Rs1UPL7HR0rcS8BpE8xn3s2OFnGUn JiE30ysQ1TaaBUF84r0Xx+vc9GlEmMq7CPNq9R34PjS5DJifvpAefy1bJMvT603Z4luh EXzgXCA/nV3CESXlkgTbOFkCoJbrtWb4/W97EzVX3sXmBAKgMHf6gpU9rEy7ubXiQFsb r56oqudQPQ8stUy9PSWc++whHBnIGtmaAiOy7Yg6xw5NzjkitBh0YYlXH9IGnN9j/bmU vGS0oli8dqyHoX7/ADa4ybsEWuFZr4kYVkM26sV0fS/7FnTN9cUWYv9g0RAakcIvfoGf G0BQ== X-Gm-Message-State: AGi0PuYxUl08C4IBYhlBYXko4AByc8+yKLUj0XhrZaw2LN+hDOaxf4EH 4QBPTdUW5aWMY99DyTnnj83bNA== X-Google-Smtp-Source: APiQypIaOU3r9sSpQ63KRoznZRszewbWG2bEIFd8BVzRWG+tqdTnyVZ217DUzAiiebhRkQ6JwItjiQ== X-Received: by 2002:aed:37c4:: with SMTP id j62mr9343733qtb.279.1587734278297; Fri, 24 Apr 2020 06:17:58 -0700 (PDT) Received: from localhost ([2620:10d:c091:480::921]) by smtp.gmail.com with ESMTPSA id z65sm3772291qka.60.2020.04.24.06.17.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Apr 2020 06:17:57 -0700 (PDT) Date: Fri, 24 Apr 2020 09:17:56 -0400 From: Johannes Weiner To: Jaewon Kim Cc: Minchan Kim , mgorman@suse.de, m.szyprowski@samsung.com, mina86@mina86.com, shli@fb.com, akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, jaewon31.kim@gmail.com, ytk.lee@samsung.com Subject: Re: [PATCH v2] mm/vmscan: count layzfree pages and fix nr_isolated_* mismatch Message-ID: <20200424131756.GB495720@cmpxchg.org> References: <20200422084815.21913-1-jaewon31.kim@samsung.com> <20200422130751.GD358439@cmpxchg.org> <5EA10872.3010500@samsung.com> <20200423160546.GA389168@cmpxchg.org> <20200423200020.GB46847@google.com> <5EA2682D.7010307@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <5EA2682D.7010307@samsung.com> Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.013371, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Apr 24, 2020 at 01:16:45PM +0900, Jaewon Kim wrote: >=20 >=20 > On 2020=EB=85=84 04=EC=9B=94 24=EC=9D=BC 05:00, Minchan Kim wrote: > > On Thu, Apr 23, 2020 at 12:05:46PM -0400, Johannes Weiner wrote: > >> On Thu, Apr 23, 2020 at 12:16:02PM +0900, Jaewon Kim wrote: > >>> > >>> On 2020=EB=85=84 04=EC=9B=94 22=EC=9D=BC 22:07, Johannes Weiner wro= te: > >>>> On Wed, Apr 22, 2020 at 05:48:15PM +0900, Jaewon Kim wrote: > >>>>> @@ -1295,11 +1295,15 @@ static unsigned long shrink_page_list(str= uct list_head *page_list, > >>>>> */ > >>>>> if (page_mapped(page)) { > >>>>> enum ttu_flags flags =3D ttu_flags | TTU_BATCH_FLUSH; > >>>>> + bool lazyfree =3D PageAnon(page) && !PageSwapBacked(page); > >>>>> =20 > >>>>> if (unlikely(PageTransHuge(page))) > >>>>> flags |=3D TTU_SPLIT_HUGE_PMD; > >>>>> + > >>>>> if (!try_to_unmap(page, flags)) { > >>>>> stat->nr_unmap_fail +=3D nr_pages; > >>>>> + if (lazyfree && PageSwapBacked(page)) > >>>> This looks pretty strange, until you remember that try_to_unmap() > >>>> could SetPageSwapbacked again. > >>>> > >>>> This might be more obvious? > >>>> > >>>> was_swapbacked =3D PageSwapBacked(page); > >>>> if (!try_to_unmap(page, flags)) { > >>>> stat->nr_unmap_fail +=3D nr_pages; > >>>> if (!was_swapbacked && PageSwapBacked(page)) > >>> Hello Johannes, thank you for your comment. > >>> > >>> The name can changed from layzyfree to was_swapbacked. > >>> By the way, did you mean removing PageAnon(page), too? It seems to = be OK, though. > >> I can't decide whether PageAnon() makes it clearer or not. But it's > >> not really needed for correctness. So feel free to keep what you had= . > > Yub, PageAnon is redundant. > > > >> I would really just at least change bool lazyfree to was_lazyfree, > > It's better. > Thank you both. >=20 > Sorry but let me ask again. >=20 > Because PageAnon is redundant, let me remove it on checking lazyfree. > Then, I think, was_swapbacked (first suggestion) is better then was_laz= yfree (second suggestion), > because it just checks PageSwapBacked(page). And we knows was_swapbacke= d is used for lazyfree on stat->nr_lazyfree_fail. >=20 > If you don't mind let me pick was_swapbacked instead of was_lazyfree That sounds good to me. Thanks Jaewon!