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 3F746C00528 for ; Thu, 3 Aug 2023 20:47:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8C22328029E; Thu, 3 Aug 2023 16:47:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 871F028022C; Thu, 3 Aug 2023 16:47:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 739D628029E; Thu, 3 Aug 2023 16:47:04 -0400 (EDT) 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 639D328022C for ; Thu, 3 Aug 2023 16:47:04 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 287421A010B for ; Thu, 3 Aug 2023 20:47:04 +0000 (UTC) X-FDA: 81083977968.13.072DC9B Received: from mail-qt1-f180.google.com (mail-qt1-f180.google.com [209.85.160.180]) by imf21.hostedemail.com (Postfix) with ESMTP id 588601C0015 for ; Thu, 3 Aug 2023 20:47:02 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=zCDXZdoq; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf21.hostedemail.com: domain of yuzhao@google.com designates 209.85.160.180 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=1691095622; 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=QBG66oV9M3i8nb1aREffuxZFPEb9Uhyo/aCShL7gQx8=; b=JtFz8FGsADpoxBDEl665vmZ3rXRvJl1e7Y0e9FNYhTGC8uAi/nqAr90ciuppmm+Rft+6RA Qf8Ua1dHiWhPgFMmiadtLk4zUtSZ6qxx3spllPTZiRoJbKj+ilILPpMXL7uH+w1bZLzXsJ l0dGmU1wY4xvv1gEOFl151FeBiAMvhc= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=zCDXZdoq; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf21.hostedemail.com: domain of yuzhao@google.com designates 209.85.160.180 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691095622; a=rsa-sha256; cv=none; b=eduoYIkESG8v5Y+PehUbs09qcUCsaNx9RqNKkDMo1Z273c4IMblgJIyz0g71Vk3+6eHSgH ZwF+NfoEHSh4yhz8GTc2zTV+5fQE2BJs+rUMcKPCFgZ17nKJMQsk08QSP2dnj2U7hJC58g owND2FUu1zA5f9eFMgPZ2LcDE2IQyt4= Received: by mail-qt1-f180.google.com with SMTP id d75a77b69052e-407db3e9669so22581cf.1 for ; Thu, 03 Aug 2023 13:47:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1691095621; x=1691700421; 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=QBG66oV9M3i8nb1aREffuxZFPEb9Uhyo/aCShL7gQx8=; b=zCDXZdoqGLts5JkBxWgjTn7HX0P9lrbxt1E+j6GydaPp/EqpJODluHyNYUe+FFwAeJ EzHCj4QPdEePGFf0KC6ZwzKK45YkvBQwUjuowCS+t1wH4+nKlbknKjShxaOESs0/qRHr phQu4PvmRFinykx0kJKX6MspQvg9qUGliHnJ38O60m9W//ThV8B7b9T/sjZ5IxpgBCwj s66gczDYtX2fpEII7KiXVSOJnlpTwoMa2V4rtyMHvBtuahihXbiyZfObEETh1FEXTVYK VFeWH7movu/EY/2clu5iPSNQGCj0BVq/CUGb03ou4isJIbohFbsjGy90F8Q1Te3MDlRd ADeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691095621; x=1691700421; 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=QBG66oV9M3i8nb1aREffuxZFPEb9Uhyo/aCShL7gQx8=; b=TW2Qsyh2iZTqg/SpraVZ8fZUcA4fg5uFxLfBeiFm1A96LXvlIlzOV5bhERAmT9vfwy A+GVJUGfqDDIH9G3s+ant23OTaQB6I5K9GT30ki9Haov56LWcu2mAbWLW02AF6mab2SP 4STSKmVovc26UqV+b4PcCIm3ggK6VR+E2Ypiljp2jMKJJrssB6bleoJC+F2BTVwuf/MY KHQV9/zdiwqNGKMD3yFuCT39AGcrGrK1WuZRmdzeB+KbTe0/InJSEoptlKnkomBl3Zy+ OObLXs3fwhP9Q6oFcLYbMooLcK8dXn0ckfml/3mxweA//0KlI6+ho3ch1TUK4zjP1OAZ v4Sg== X-Gm-Message-State: AOJu0Yw0pgXChg2rvCkIsiCW0yheJGVTRGGheS+R0xc86qI/CdtJdYCM IE7aWfNIrIRAyFWFyT4+UsVjAiS/jSbxaeZLX1mEew== X-Google-Smtp-Source: AGHT+IEdgeMssYgkzrO6SBZ/o4UiOXS8RvE2r0xaLvZhKBjn7l5c7r2RpdmOKCQ427vYXukxwFiWZXjUggeonWTDg7I= X-Received: by 2002:a05:622a:55:b0:3f2:1441:3c11 with SMTP id y21-20020a05622a005500b003f214413c11mr46781qtw.2.1691095621340; Thu, 03 Aug 2023 13:47:01 -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> In-Reply-To: <837ba176-c97f-f81b-c044-eb6aa3d88bb7@intel.com> From: Yu Zhao Date: Thu, 3 Aug 2023 14:46:23 -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: 588601C0015 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: uejz1r9dferc86hdbsbm8zyzc7ofsy5h X-HE-Tag: 1691095622-186574 X-HE-Meta: U2FsdGVkX19U5Hq+7ot11fO3n6oelLtGpVX5XVvmVN3E3QU3Z5MDXGnJYjnio5rpz0OuXrSMYmJin2z6jr1SYOlkHkvcSCWNXghTvpxybygisBWJYuEz1iGv2xPOqN2+LbKadxVxsvkTES4iojhHQpm0jhgILzXYex0CU0jOKPINEp6Gf1iwO3g4uHxqorBWDoPjQqsRDaBFBIJUzC1QDXjz1ndZGcIDjegCPC/dkB42TGnnOdnDnzFYJqQjGh9+GBB2LSQe5jkumjTtF52o1k6cIXRKNsZ8y/3ID64P7sNYHNKVFzn2asvoA5Z0gfzh9X3OBfNfADNHTXCMVjArXnv7PCIKdePAGLc1AsLMTaY0ChNq7eyV+cjsYH8fl5fji30R/demDS1XrWPGChLY1YEk+idRWwNkJWNQcACrtayGZuhXIQyU+VjMU8Tw8jb9uaGV2RjBvvgi0fIiC686Uo164pkaEkxxLKmekwr1VeSXt+u77Ll4iXlM2MpFVThMTJbc1JvYNsqtEys3cEpboe7mU3gJTTJDSj3dnZwF7rd+Oa7Wp0Ss3fTCaHt0KqILHX/B1iWc8koqEkp6G4K71hkIzfkOFcqRIQUrBrQynYS/Whrn+rZGHxzgFXbkLPr6AJFo65CihjH5c1E/xAMOF6e/V8tDsI1rfRtKFqk5HTCvAN0G4/dwBWs+i00ItfEMp65E1wYBhdfcfvxEJArFnamTbQ1WxVtTtngU5gZkf0ZlNZV+KzWgM2abXNkfq7l1F7tr/U3hdL3MTtg+XlGF16SmOBa+zfbpbWJahbbmDejKHjkVLBqd91KsKtlul5WosjPpZFkuUccoaJ172BEVo7paL1CB05eXYnF4FAyAHOxcme28L0t8qIPzylC63Qy7lbedPeGyeJrZ8pTzx5Z6dg7G8pkMOJRqUwdOm/VbiYIpU72wA2eZHZPAGVO26/wjVMBCkh9qlpOlbTv5jr4 2iAL6WIK /AmZg+jq1zNXaZYXbrMyK/KncBH87xHGjz0+UPBJgjtf209VEVR2ztVWSyNOV8aATHYlKMnFCY4bsvWxb5U8afp1MSEBnOexii4mgx24zwavTVzk/KfOy/HU4DMAYp1q7GtB+UhsNrdYTND3o0cZ4+9WQwuJ1Ez3yYEomW63yXhQNBsBuymLs/SxpmCDbKJlwZQlcyn6t/QHWMVQ9BlOl7CIsbAuqjpe7CJUfvCwKVrn0O2pcTa7lEYEy3LYayeythl/ApWFGZyaYDf/xcJe6+Zhq53VvKJW6xbEWdyh8oD5+pbFXHQkqLqick+wyJoRbksGD 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 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_range(= ), > >>>>>> folio_mapcount() is used to check whether the folio is shared. But= it's > >>>>>> not correct as folio_mapcount() returns total mapcount of large fo= lio. > >>>>>> > >>>>>> Use folio_estimated_sharers() here as the estimated number is enou= gh. > >>>>>> > >>>>>> Yin Fengwei (2): > >>>>>> madvise: don't use mapcount() against large folio for sharing ch= eck > >>>>>> madvise: don't use mapcount() against large folio for sharing ch= eck > >>>>>> > >>>>>> 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 prov= ide precise > >>>>> exclusive vs shared info, we will probably want to move to that. Al= though that > >>>>> scheme will need access to the mm_struct of a process known to be m= apping the > >>>>> folio. We have that info, but its not passed to folio_estimated_sha= rers() so we > >>>>> can't just reimplement folio_estimated_sharers() - we will need to = rework these > >>>>> call sites again. > >>>> Yes. This could be extra work. Maybe should delay till David's work = is done. > >>> > >>> What you have is definitely an improvement over what was there before= . And is > >>> probably the best we can do without David's scheme. So I wouldn't del= ay this. > >>> Just pointing out that we will be able to make it even better later o= n (if > >>> David's stuff goes in). > >> Yes. I agree that we should wait for David's work ready and do fix bas= ed on that. > > > > I was suggesting the opposite - not waiting. Then we can do separate im= provement > > 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.