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 BA93EC27C4F for ; Thu, 13 Jun 2024 08:56:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5417E6B00B8; Thu, 13 Jun 2024 04:56:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4CB5B6B00B9; Thu, 13 Jun 2024 04:56:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3442B6B00BA; Thu, 13 Jun 2024 04:56:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 0B69E6B00B8 for ; Thu, 13 Jun 2024 04:56:50 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id A89E71A08C7 for ; Thu, 13 Jun 2024 08:56:49 +0000 (UTC) X-FDA: 82225260138.08.02FC627 Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) by imf16.hostedemail.com (Postfix) with ESMTP id C8575180003 for ; Thu, 13 Jun 2024 08:56:47 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=NSvrmNrR; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.208.172 as permitted sender) smtp.mailfrom=ioworker0@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718269006; 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=kZX2WwAINlm2dnG08K3dNiRiVVFaPvt78cXx+6SPatk=; b=miAb2QyPQK6DfMesf+6MHbvRC/VkaMYooEB3++PnQ/rsFR7t+wbfEEeKlc4F2ozOg7uxRu 0vS8U/1iH34H9pkVGH++Fs/vMf6a+A8C0qGgF4gsLRTqH3Ucic4KE0SnyG3vrExcSuuPny HUdsXiumKGklYreKesISCNATSBb2T4A= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718269006; a=rsa-sha256; cv=none; b=C+urPzkSNqOr7tZ/ChwWCtOQmNk+oKZ30chp6UGC7nt+vubaG+LzI5KKtqj7FXL98yb/L9 w9O0Y9j4XKvo+MWIWcW6EkTi0lHd3xvT45fJ8cM+YsP0Puax44EjKHqisoBvUqRKsnOm11 fMWB6SQ2y7fl6tf9ZreIvUuij3yUQrM= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=NSvrmNrR; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.208.172 as permitted sender) smtp.mailfrom=ioworker0@gmail.com Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2ead2c6b50bso7353511fa.0 for ; Thu, 13 Jun 2024 01:56:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718269006; x=1718873806; darn=kvack.org; 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=kZX2WwAINlm2dnG08K3dNiRiVVFaPvt78cXx+6SPatk=; b=NSvrmNrRlDETnPQeNWT1wK32HNZKVyfxZf8L+gnNR30/dP8xA8kDI0CVcoZgPNETVh ivoDh9yFWh/YMaG6qYXXjRTnel26k4aJcgx40QblxG5hev2U3T2emY7Cxaxr2159wbJs 2LydCGRcIdBZX2vyVetb8ywiRDRa/pWVtT/cwx7hMqHFQ26ynvl2cnDI8fY6MjpNkNgo UvduXja91QCdlaauPDed/QTrr1Bb3hu6LDjL7z+2Cng9y1FUPLvtugExPboUI3iMRp6a lMjFdKb5VpPvWnUTX/1MB0YqaE/744V9sLraT4qUKt7hwYqV+HK+ZCDMqmloKEBAq4v8 mCYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718269006; x=1718873806; 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=kZX2WwAINlm2dnG08K3dNiRiVVFaPvt78cXx+6SPatk=; b=D1Z6ahX+58MUificZ3mcxns4ZUF1F+B/UUjHxuk3FfciSe+hVdhmT+Y3qHywe4/6N6 C/2UhISiYGYxZUufT/ivlaqHm+MSJ4z5tempxGjuAl+RaF5nKkQbrP6ng/3JbQGEZutZ dqXAMk3MbLiTCX6mVibv0Od5iirWkx2fAr2VXNHuiDaNm89wSHMLgRA9Lpq1Hl0uYfdw Tqo5IqOxHfeY5a/rMWabF2itcEWeyq3z8yl4QAK0HOQAl3rGNT8m5y6GRCYqDnIwhDkJ wd1QXCH+/i+9oRm8RdTkQEjF7MoYNQrxqm96wBf5P3+tReGXhW1xNkFzHYoW5bIa8vQy MR9g== X-Forwarded-Encrypted: i=1; AJvYcCV/LVVOcTItx5R1/eeZV+lqvzKvcJu09ljDHqWpd/mQYI4dMTdrF+abWOOEra5S71z4UZPwacf8iNGSsy459wWKW7g= X-Gm-Message-State: AOJu0Yxlh0LHajjWBS5edtBKshxGDiLrD47/0enICH/CeDOyabVdqVhj TZ/ausxHy21Z2A4sGGaCULP9CfwyhsApiSmGzNV+7pe0V48z1TMYsMGM6RPKia0BjJ0AceXUZcY wUtbXvQhCBLviBTMlDxtYd2wjUyxnXg== X-Google-Smtp-Source: AGHT+IEKxKd+fOM4lT24EFbmpWHNxeD7S6i9WuElPROWBSwMH+z09CHHmllDqvbFP6PpzSPJmgI2NnItObhjGyWX7Ao= X-Received: by 2002:a2e:80d2:0:b0:2eb:f5ce:a0fa with SMTP id 38308e7fff4ca-2ebfc96483amr26295121fa.46.1718269005929; Thu, 13 Jun 2024 01:56:45 -0700 (PDT) MIME-Version: 1.0 References: <20240610120809.66601-1-ioworker0@gmail.com> <20240613072858.16512-1-ioworker0@gmail.com> In-Reply-To: From: Lance Yang Date: Thu, 13 Jun 2024 16:56:34 +0800 Message-ID: Subject: Re: [PATCH v7 4/4] mm/vmscan: avoid split lazyfree THP during shrink_folio_list() To: Baolin Wang Cc: akpm@linux-foundation.org, 21cnbao@gmail.com, david@redhat.com, fengwei.yin@intel.com, libang.li@antgroup.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, maskray@google.com, mhocko@suse.com, minchan@kernel.org, peterx@redhat.com, ryan.roberts@arm.com, shy828301@gmail.com, sj@kernel.org, songmuchun@bytedance.com, wangkefeng.wang@huawei.com, willy@infradead.org, xiehuan09@gmail.com, ziy@nvidia.com, zokeefe@google.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: C8575180003 X-Stat-Signature: rnfupggsp5ewqj9s1onfea6xjhdwae9i X-Rspam-User: X-HE-Tag: 1718269007-824934 X-HE-Meta: U2FsdGVkX1/RsSv3NxZcTWNZBoPdXDh+gxZjX5uptgK8u6/JOBRhlCacrlYXi+KRtI/Wv0uPRFtPcqDRJLU8GcwDogvIRmh4xJyXLk0WYLKRDr6Cq8ut9iIPGYKVtzq2O8JgMOpblDAKkdv4kSgBQ1UQdLC07PnFwi8F1O/2FWK8KPJYsntIE4ZSBDB7WuTgBHGieg2Uw5/IuYURb5oZSG/L3iYgLGQQNH/1h0945C9ua9NS3arNMeREQf4f0MeS0KiiJm/LVZuwvHwX6JwzHx+1NkNr1VKzrpHgWYqxsIztoaophhm23YUlrrXQL5rqaCOfW46wCuQZBU0UFEe5yu0EJFf60Q8+IJo13Da0o3tBTHJy7f2pGssIf8v6RqZmUcTH8fNDIdOOXvQd1bQcbuox/SjxO3/taxClt0prlxiJsPBPz8wTL/47s7zxePIcWXMBrwd6yjvSB0v3RS6AxdDxFaIxnTqPHLHPepidyUJPu71s+PB7dMv18aBYc/BfhQDHY7Lj/8QBJf5981TT0QOu0CVJrnld++K9eEWkXV5lEh5AimOQWF70AEKM3Y0ZQvPlYPh63axdh0z2OhyHEEA/7hAsnxTQ+/XQvPUr5/hP8c1mftTlS37XotwU1URCzO3/svf4Bfbsw6jPB0Ci/bQ/4HIC9nIqLc5aAjJ/XrpESELjBoO2tgOFBlHhLoe4BulcekxVSDpsOZv4jyYFO5pUG/urK1QUMVEiRJjcoPfF76pzXFwKkOAMionelFdjyZEh04R2yTNczt1iYSTVmln7H5v2ioHjEZXcNppzs06eXppZ/bsgTa+HWy0F1yJmLM6024OA0yX0qx56EIfnQdTjuG0FR+EaZWtHD+rkQc+flvqUVSDphaXJe0i1ECZyEkjFwtdmJRi8xiDTrCPqCSvepAofgPpRS3SHdGgBs4q8NwaP+tN4uW/qtHugqozgTSyLtEFppvQCK1Z+UmU 2knwJ0li eqVG9ZWD27pl7owagFWRu2p+uzeEk7IevFoXF3No4D844k1Bc9hJacx45jpJcKhsk7qLwI0rV1n050uYmXEOmlvue5fpn2crakrY+UwUBlb8rfQhcSLdE59s7Jd3NSLxEdAe1ZhPY2i/zC17eJ88VDj7R0DcEAOyXO13Xb0qH1epMU9cyFPjyLaV613uoX8ypfdoNWj+7c/sASBdJ6uY9Zf5AMlTVjdfcQuYcauS6OkDbAlaov/cUqeuUgKLLIxHSwLG6uYO/v934wIDKWOigVIx7Ai0kHCC/r0V1in5LffUVCDYaWmuR/oRzhpv1/SkmjhOBs7U3pJVclG4OAmRK8XLizJWjDxpBKSo7hBxMSHkrG0YvOVS7lTpsDVDYMTQ7HVf0uNo2C5EbqCqnCfluKYvt9yZKuMSwVbjo377PRO57d8fDorUG1k7U2YMQHgVowjpw 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: List-Subscribe: List-Unsubscribe: On Thu, Jun 13, 2024 at 4:20=E2=80=AFPM Baolin Wang wrote: > > > > On 2024/6/13 15:28, Lance Yang wrote: > > Hi Andrew, > > > > I'd like to fix the bug[1] I mentioned previously. Could you please fol= d the > > following changes into this patch? > > > > [1] https://lore.kernel.org/linux-mm/20240613065521.15960-1-ioworker0@g= mail.com/ > > > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > > index f409ea9fcc18..425374ae06ed 100644 > > --- a/mm/huge_memory.c > > +++ b/mm/huge_memory.c > > @@ -2707,10 +2707,8 @@ static bool __discard_anon_folio_pmd_locked(stru= ct vm_area_struct *vma, > > if (unlikely(page_folio(page) !=3D folio)) > > return false; > > > > - if (folio_test_dirty(folio) || pmd_dirty(orig_pmd)) { > > - folio_set_swapbacked(folio); > > + if (folio_test_dirty(folio) || pmd_dirty(orig_pmd)) > > return false; > > - } > > > > orig_pmd =3D pmdp_huge_clear_flush(vma, addr, pmdp); > > > > @@ -2737,10 +2735,8 @@ static bool __discard_anon_folio_pmd_locked(stru= ct vm_area_struct *vma, > > * > > * The only folio refs must be one from isolation plus the rmap(s= ). > > */ > > - if (folio_test_dirty(folio) || pmd_dirty(orig_pmd)) > > - folio_set_swapbacked(folio); > > - > > - if (folio_test_swapbacked(folio) || ref_count !=3D map_count + 1)= { > > + if (folio_test_dirty(folio) || pmd_dirty(orig_pmd) || > > + ref_count !=3D map_count + 1) { > > set_pmd_at(mm, addr, pmdp, orig_pmd); > > return false; > > } > > diff --git a/mm/rmap.c b/mm/rmap.c > > index b9e5943c8349..393e2c11c44c 100644 > > --- a/mm/rmap.c > > +++ b/mm/rmap.c > > @@ -1824,12 +1824,7 @@ static bool try_to_unmap_one(struct folio *folio= , struct vm_area_struct *vma, > > */ > > if (unlikely(folio_test_swapbacked(folio) !=3D > > folio_test_swapcache(folio))) { > > - /* > > - * unmap_huge_pmd_locked() will unmark a > > - * PMD-mapped folio as lazyfree if the fo= lio or > > - * its PMD was redirtied. > > - */ > > - WARN_ON_ONCE(!pmd_mapped); > > + WARN_ON_ONCE(1); > > goto walk_done_err; > > } > > > > You can also drop the unused 'pmd_mapped' variable now. Good catch! Will drop it in the next version. Thanks, Lance