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 A29D2C001DB for ; Thu, 3 Aug 2023 23:38:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B7542802A4; Thu, 3 Aug 2023 19:38:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3677728022C; Thu, 3 Aug 2023 19:38:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 22FD32802A4; Thu, 3 Aug 2023 19:38:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 1418528022C for ; Thu, 3 Aug 2023 19:38:44 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id E78498063E for ; Thu, 3 Aug 2023 23:38:43 +0000 (UTC) X-FDA: 81084410526.21.1DA8965 Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by imf26.hostedemail.com (Postfix) with ESMTP id 14D76140009 for ; Thu, 3 Aug 2023 23:38:41 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=tU2QLiE1; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf26.hostedemail.com: domain of yuzhao@google.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1691105922; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=HF9Fv1UjGToa7ovm9kjlJdHk4E7DdWLIDqHPV63VLII=; b=L0j20fEaj6p+3zPRKXTUNrMnLe8Pv5CvLEV2ljAHPLl3NMm1O9WAVy6qDnqqry/L7cBBEx dwy1oP3PEn1aWVowvxtXIovzBoKo1wLgkOkeNed0BnLKCgAoBxvAfu9aC+517Jj9FMhXmc T710sTMfgxr7jD+bOlo7nQzOJSkXq3k= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=tU2QLiE1; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf26.hostedemail.com: domain of yuzhao@google.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691105922; a=rsa-sha256; cv=none; b=x1P7XeO3p+FN7AosHGO8fyltLIyIPYjnMl+zXOJHr/aX10UZjkdyrZ3LMG0GgkZ5FY7Mzv A/O0ZQ5al8lYIjl0f0QpD1oakT6UFhEZoBBJcvkpUZrfGI+yFPLpDz+knB7oBx7P4hSI+0 BQPupLW5Y91g3MGiUnPgAUNo2rR3Zhc= Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-5229e0603edso2431a12.1 for ; Thu, 03 Aug 2023 16:38:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1691105920; x=1691710720; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=HF9Fv1UjGToa7ovm9kjlJdHk4E7DdWLIDqHPV63VLII=; b=tU2QLiE1TKfSuhJ9emNqRap40N0ZD9zGGhFakPKtTMigp0fVMGq6TIVV+XHU+4djDq aL/BcjwOYuYBMpSqV2qrU4AgPoSrJY0ae+dRHbhkoqVeEZkrUjVivhleeIh9kNClMdnC EfWZjjvyLzTSFDVGN52sAUJE7WDB9k6q6js5crFFvSp1Xfw30ze5WC84iAEV6e5M/Xbp aqN8QDDrZN3Q7BFb3ZxNJfIiCn23fXdz4qE4UIdekAUSIdFwbILidpdPVsHzAuRzHtfb IU0BiN6nJOsLbYlVF763PFsBeZxuxJKLoadikBY8ozt7C8uAdKC4S6GSFvH4wiK/JJeR FP7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691105920; x=1691710720; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HF9Fv1UjGToa7ovm9kjlJdHk4E7DdWLIDqHPV63VLII=; b=Zln/YyBA5OTC6F6JDIyIFZH4njeybN5yoA9ZXZOat1+82xJXR+bIYt9THOj/TnJKn6 fEN1MBQg/rOP1DnztKL/L9nFBq1TO1eJnXZepbfJUW2DNV/3h7AYWhDKvj9qXNKaWWIM xX0fUoctdHfE9ITU+G8ga/NQbyOJO4W8cz8z0yuGlPdupXhDSzBzDD5o/jo3UvpciYkY rzzztdhJao+CX/a5TRvD00RaadKL3ICstotKXvra7Kur+JRh9mOfJ8bQJshshw0qMGs1 SbBxX1c7Up2rp1zBgZ4bB/uHxJKdvvW/vJyDME2aUGuelsb8V3ILsfLQpQJQuN/h4GcU 7r1A== X-Gm-Message-State: AOJu0Yws/kz8NWcVCn5LYr6Q58sW/LA7kz+CcUWEH2QVYl9EGimzOtCx orNYE5mX20b2tmAg2kJn0xJu1TcbOd8nHBOT5XbPRA== X-Google-Smtp-Source: AGHT+IE8BzcvliGOfpZKZFRaXciucYbDm1vicS2CnPG5JaIqDBHOujD2OJYpt2YbaYt+JeZDnJ0h3dp/UPet8hikz7s= X-Received: by 2002:a50:bb41:0:b0:522:28a1:2095 with SMTP id y59-20020a50bb41000000b0052228a12095mr7144ede.3.1691105920421; Thu, 03 Aug 2023 16:38:40 -0700 (PDT) MIME-Version: 1.0 References: <20230728161356.1784568-1-fengwei.yin@intel.com> <3bbfde16-ced1-dca8-6a3f-da893e045bc5@arm.com> <56c8f4f9-b54b-b0bb-250c-ec8643accfc7@intel.com> <3541d2de-5cf8-2f84-8153-277e2bfc0101@arm.com> <5f98748a-97ca-6426-1e24-a5675da75381@intel.com> <837ba176-c97f-f81b-c044-eb6aa3d88bb7@intel.com> <40d49276-fae9-e538-61cf-64bb79233bc3@intel.com> In-Reply-To: <40d49276-fae9-e538-61cf-64bb79233bc3@intel.com> From: Yu Zhao Date: Thu, 3 Aug 2023 17:38:00 -0600 Message-ID: Subject: Re: [PATCH 0/2] don't use mapcount() to check large folio sharing To: "Yin, Fengwei" Cc: Ryan Roberts , linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, akpm@linux-foundation.org, willy@infradead.org, vishal.moola@gmail.com, wangkefeng.wang@huawei.com, minchan@kernel.org, david@redhat.com, shy828301@gmail.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 14D76140009 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: c5nw7erojwamdhs144fjo8m6iyo8ss6s X-HE-Tag: 1691105921-202136 X-HE-Meta: U2FsdGVkX18HOy1nCh3v8FOh2hgKewYgkCLsYlLTELXbhU+jO/JA0jQh3dIM1K95zCMWZEJppHl5mTTZq5SBZiYwYXDvbiYnumFmFGUcAsvhcWkzzUnFqpPvpmy0gqUM/6Bmz7lBFyxxCivPR3upbfh1T97/C77BzwBFb6kyfYIvoPJ4hCdB/r6Reuhp7BXRsGikKzAwuyTLx4pNAB3qzEooFobmXRyfz4AVjC6fgiiIpmp0TMClrkGl6mb86I9TGQwK2J1hYLQ2YPkYcpai4Ub1jNSi3l7ISDSOTFYfXnmsSwvSLizV0hJOHFnvjzB2CEX1jGFgwCfHx0cpLEWrYgOR74RSd9kG/HzhvMLMYNyr/BEnFmRiXi9vdN0mtKzuLu8YX8ZDzRhpX09t8pqGSVdIRwe/8mTO8Z4gHMoenMjJhfnGykQvLLICiQhHVFQ0zCiXOfAcHRf9krc+Lx25/R7yAGLW/Kgyed88GijBQZML4HTOxXAR1FfJSjhCfmBON+SjZBOUMU+yjfwN6PTaqMN5Cdvbe8kP7286MFdbcqBFFXf5zaGztXnonn0vfuC/Q8UTin3iK+AJj/VdW3YSrAEp0Kn+rPJQZMzEBZ5gc0J7nbdC2h9lR0Y60eeCPUfVGz04/z7UG4PHTpqtXc6llSvrVNhS2mhJPlebneGIcFRsp6KzIcBbUf7i3qqS4SZY0K8uBGUeFKmxoBcR8Rc55ZbZn02SyusbaaRs+mN9Dbr3v9RTENTmY+2qzSpTfEZ6QK9AAekH+sQOBZGAHrwwarQHaHSjCZyUqUHcb29gFHE35bJwi/Cp++hCZNNQJFvr2Kxls1pa6p8wmIOU0tlsIn3VChGRTHAwvCTK29NAkBNvs0ThHUAWScmMDP81yBm4v1qgErg9osD8I/OWSR8S6SsGI5DBl2u/ppj594JioisNOA13zd4HQ+fFxdZftdSIE/p4i2IEnEv2UIFv/eo t4uBsKwg Z1AYkcJgdFGliYPWbYe7vNqmunUW7BTjGY6mYlIdc7hCf0h2QoBrmyWHkG3eS/qWMnxgYNNFy9zFw+4VCSch09+DBodFRHbWzY5yQgQGj8DtDOp9oJc+HwQd5Eb3cxSyj6vERFz/E3A14lypYZzgvRAs4uX/0pc8GVWwHlz68f1RbwU86B0mc9VJ+vFcTqbaQFFLXgUWGoxNHL0aAK66roiBKRZvbuufnOE8ynToEmXqGdVo2b18dfAgmMVZ5/P2MrgQ2U7LDP7q1Sb+mADlbzzxTwNt5IsB/Z/2vyOdg3iaesFd6P80hXsWiDYKjoTVB5kI76svBVluk5aq2X6v81nsTgYUsrFNN0OiMDv9kwaxAgtpy6ch+Muk+R5YUFWJZQ4Tb 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 Thu, Aug 3, 2023 at 5:27=E2=80=AFPM Yin, Fengwei = wrote: > > > > On 8/4/2023 4:46 AM, Yu Zhao wrote: > > On Wed, Aug 2, 2023 at 6:56=E2=80=AFAM Yin, Fengwei wrote: > >> > >>" > >> > >> On 8/2/2023 8:49 PM, Ryan Roberts wrote: > >>> On 02/08/2023 13:42, Yin, Fengwei wrote: > >>>> > >>>> > >>>> On 8/2/2023 8:40 PM, Ryan Roberts wrote: > >>>>> On 02/08/2023 13:35, Yin, Fengwei wrote: > >>>>>> > >>>>>> > >>>>>> On 8/2/2023 6:27 PM, Ryan Roberts wrote: > >>>>>>> On 28/07/2023 17:13, Yin Fengwei wrote: > >>>>>>>> In madvise_cold_or_pageout_pte_range() and madvise_free_pte_rang= e(), > >>>>>>>> folio_mapcount() is used to check whether the folio is shared. B= ut it's > >>>>>>>> not correct as folio_mapcount() returns total mapcount of large = folio. > >>>>>>>> > >>>>>>>> Use folio_estimated_sharers() here as the estimated number is en= ough. > >>>>>>>> > >>>>>>>> Yin Fengwei (2): > >>>>>>>> madvise: don't use mapcount() against large folio for sharing = check > >>>>>>>> madvise: don't use mapcount() against large folio for sharing = check > >>>>>>>> > >>>>>>>> mm/huge_memory.c | 2 +- > >>>>>>>> mm/madvise.c | 6 +++--- > >>>>>>>> 2 files changed, 4 insertions(+), 4 deletions(-) > >>>>>>>> > >>>>>>> > >>>>>>> As a set of fixes, I agree this is definitely an improvement, so: > >>>>>>> > >>>>>>> Reviewed-By: Ryan Roberts > >>>>>> Thanks. > >>>>>> > >>>>>>> > >>>>>>> > >>>>>>> But I have a couple of comments around further improvements; > >>>>>>> > >>>>>>> Once we have the scheme that David is working on to be able to pr= ovide precise > >>>>>>> exclusive vs shared info, we will probably want to move to that. = Although that > >>>>>>> scheme will need access to the mm_struct of a process known to be= mapping the > >>>>>>> folio. We have that info, but its not passed to folio_estimated_s= harers() so we > >>>>>>> can't just reimplement folio_estimated_sharers() - we will need t= o rework these > >>>>>>> call sites again. > >>>>>> Yes. This could be extra work. Maybe should delay till David's wor= k is done. > >>>>> > >>>>> What you have is definitely an improvement over what was there befo= re. And is > >>>>> probably the best we can do without David's scheme. So I wouldn't d= elay this. > >>>>> Just pointing out that we will be able to make it even better later= on (if > >>>>> David's stuff goes in). > >>>> Yes. I agree that we should wait for David's work ready and do fix b= ased on that. > >>> > >>> I was suggesting the opposite - not waiting. Then we can do separate = improvement > >>> later. > >> Let's wait for David's work ready. > > > > Waiting is fine as long as we don't miss the next merge window -- we > > don't want these two bugs to get into another release. Also I think we > > should cc stable, since as David mentioned, they have been causing > > selftest failures. > > Stable was CCed. Need to add the "Cc: stable@vger.kernel.org" tag: Documentation/process/stable-kernel-rules.rst