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 97E27C4345F for ; Tue, 30 Apr 2024 02:03:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 06AF76B0092; Mon, 29 Apr 2024 22:03:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 01AE46B0093; Mon, 29 Apr 2024 22:03:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E24BE6B0095; Mon, 29 Apr 2024 22:03:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id BC97B6B0092 for ; Mon, 29 Apr 2024 22:03:47 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 2E481C049D for ; Tue, 30 Apr 2024 02:03:47 +0000 (UTC) X-FDA: 82064552094.11.A065403 Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) by imf03.hostedemail.com (Postfix) with ESMTP id 443DE20024 for ; Tue, 30 Apr 2024 02:03:45 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=OppyxhoX; spf=pass (imf03.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.208.174 as permitted sender) smtp.mailfrom=ioworker0@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714442625; 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=FkbeCDHpeb40dQXG63pjG1WzOO/A5FvGS55H+EtxGQU=; b=QVsaHLml3EThPgLBwRcKqs/J543uZq7bOdVdBBcZrAJctg1lNv3XqPh8q6FVWWjOO9UZgH wI9kSMvvyweArGDWhnh9LJMv4+Af89xakMWMAYUVLh4lqOc/regWXMswnMg/FhxnnBKnMz GPhbWDhdd5+5IlsGarHHwOTsSS6S9cs= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=OppyxhoX; spf=pass (imf03.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.208.174 as permitted sender) smtp.mailfrom=ioworker0@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714442625; a=rsa-sha256; cv=none; b=tuV3ckBa2ifyODccK9tgQJaZeiQXF5RxxK3Ugb7BK3fmtThaDHCRjWRc0xc2Sbh04zkB/2 cljoED4UfvuDqm8I0PLHZ2sd4SH4HVwZbVWRN+YkxmlyIIbsB8WLW3iJPMg0Vb8MKOpGon LfPXAZXQ9ox9iBoGNujWZsgU2pCeh8o= Received: by mail-lj1-f174.google.com with SMTP id 38308e7fff4ca-2e0933d3b5fso17054991fa.2 for ; Mon, 29 Apr 2024 19:03:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714442623; x=1715047423; 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=FkbeCDHpeb40dQXG63pjG1WzOO/A5FvGS55H+EtxGQU=; b=OppyxhoXE+0eYdOFUkRpRcg85VuxH6c1suy3lWrctNwrTl2Em4Xm1q1db+vyhsWOSK Ynj5qVBfUphhf321gG3qrfbD0M9YbXSo1HZ4pY0qirmsg9nBb0sx7CPjRRquDBn6yc7L vUq1xHhcgnsXxW701qR9Ex/FySoYJ/5qAJ6HzdMeFEJJIAalnf8mzPCacjm3MPiJ3bcB ead70UsclZeRHpIJHuHTQRNKG5vAnqD2y+s3xbP3cxS2ZhP2J4YaLBodPC4DLTMlQq3C zxAN/yqVSf4lDH4rdPlKKUuW3GQIHNEIC5pdClpFQhpeu9keCLQB35K6N/KkivU/PV1P YmVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714442623; x=1715047423; 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=FkbeCDHpeb40dQXG63pjG1WzOO/A5FvGS55H+EtxGQU=; b=hpOctXTQkHi5MxVNfzPa4M+KvFLAc0iHtM2x4iTKFpLONL5opOx6AEdjzioBLeHNz9 HRLoWoUqLTLP3HjiqYWxdmf2SWi8UgCYYZhwhjPPU55N9oyj7BYais304fudoJPBv5kl U1urXRGck5SknhfZN+WQsFS9yYN1RONFIvSohp3MdK+378Z+zWa+vCIKcdfdNiK9hLzZ PgKWDWPXjLyXHReH4W9MWl+HwqNbajESuwdR4Sv/9l74vvh8+11JY6H1dkhb86G6LMkP 6MMhZubsip92vEl1hluTKMuoSOvBAQzN6nThF2h81U1peaOk8oZ0j9Ua2q3akzyzyv+V alog== X-Forwarded-Encrypted: i=1; AJvYcCVZtU3PGWlneNegFy7FGCHEVEFCBc071Ob/aPx06RtBGaBBafes3v3EEYDA5c5AeZsXFpoarBusBDsqiit1CE00NUA= X-Gm-Message-State: AOJu0YwXU1N1RPCBTZjLmB5ZlkEgmAEFTnpIYxMRrJfNf/8jWmH8Q6is zgmO28Q8nI65XNV9cmmCIAb6zsiMxKJ3lJaN/xL8F+97JcgHnQ+ySvsBRLjF1dVMsalz0rGncyd WcqIUE5KCxLdbiN5mS2lyNXHba2I= X-Google-Smtp-Source: AGHT+IF3M4ytIaAlEmox1+ZvisbCNBrscqG/EtpJssVNF8vRNkzyovromWG+z2mbr9aOPGdpuV1sk2wCKvsGgEn5JSM= X-Received: by 2002:a2e:93d0:0:b0:2df:b076:972a with SMTP id p16-20020a2e93d0000000b002dfb076972amr5630120ljh.3.1714442623165; Mon, 29 Apr 2024 19:03:43 -0700 (PDT) MIME-Version: 1.0 References: <20240429132308.38794-3-ioworker0@gmail.com> <20240429202040.187453-1-sj@kernel.org> In-Reply-To: <20240429202040.187453-1-sj@kernel.org> From: Lance Yang Date: Tue, 30 Apr 2024 10:03:31 +0800 Message-ID: Subject: Re: [PATCH v3 2/3] mm/rmap: integrate PMD-mapped folio splitting into pagewalk loop To: SeongJae Park Cc: akpm@linux-foundation.org, willy@infradead.org, maskray@google.com, ziy@nvidia.com, ryan.roberts@arm.com, david@redhat.com, 21cnbao@gmail.com, mhocko@suse.com, fengwei.yin@intel.com, zokeefe@google.com, shy828301@gmail.com, xiehuan09@gmail.com, libang.li@antgroup.com, wangkefeng.wang@huawei.com, songmuchun@bytedance.com, peterx@redhat.com, minchan@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: y876nkejoam5m38ofa4knxss83omjg78 X-Rspam-User: X-Rspamd-Queue-Id: 443DE20024 X-Rspamd-Server: rspam05 X-HE-Tag: 1714442625-368120 X-HE-Meta: U2FsdGVkX18h+ZFnwRK92FQPG5Vni8MGCQGAvhUSPcc6OyUoXLIwO0eLV4ZcVYCPftOfVNDGz2i0ss/4diKFGjZOgBaje2u9kcvJC4X5g0ObN9K254kBXfjbfZzpqbKeAFHPWomjCdeHVwujoYCr1ngtZLEjOn7eqdFLJF/ALmJd9cv3yXNji1wANipdF+M/dqWgGL/X0SuntQ4iITwKo+KLv1XhZ9Nwyf1tILoKNXaELEgNT+y3r+CwIIO+AW7Emi27oDkcE1/BA0aNwxN8bMNODP4noxb9b2APCa+VkjXfM5Dr/k/legWTdGH+gF+HV6o/tfZmIJc0gB1pB+gO8rSg/2h+2ZP1CQSdwC3Fv8KBreiArSPtkQugFdcMAqmEN45Y+qDm3RteESjPJUhaX+/dRf14a7Im+iq6+1EosCTMBudUJiTbe7H1cwnTIvvvmkNSEV79K8Z+lteBiUyksFzz2Uw7MaeHavRjFQkNzSLmktImKg0Q7Yw6hcDnydvMiCHv0FFemHltL5/5UDbqehZ/+jjux5Qt5R9/2lyG8hk59RoVcseNa7/m6vkqwx84VHpB9GpBIfuIJkaDrGpo6eaLPy3bfnXsRaOUBdYQP4hNY1AGUnG1v/I4edV7M7HLFn5J2cOOdDy3RAxnJ9kN4UFXbF09/qazC2w/NU1BvCqyTyaug/oOPoNSNZxZ0TJHgqzYW2gkckbVFoG8T/zN7xibJum8FxcnJsMWDz0wrEcXVqn0n3VReVOeGFULrituPu0ojxAEaoz6YITyveqDhmpoMFm3Jr5I7OznzLWCgM8Fzy35kFPgMMSKv6jDPUdlLkyKIOuvmaoKLmy18CdidxLnLOn7Q1XegdS+9cbxPq6OH+T5OhlqVAyOsBrrymEM+A5mfnmFYRhlIg42+9Tw2o9FQOqoUSUv240QLUIPrsDBVBvTeNmLm18kW92QaX+yTaFnGKL1RSzHJ948YJM Wutu98fr RAp17ePdC6gQxX6e2W+xWbkw2m0g4NXt42I3ltYPiJdQRQu3mf9t0ThXiq4m3gDbBXqXvW3Its3hNvBiQdE9V1eR55lOCOPp4ybHzh7+ehfeifOM/MtXYLyNvYGABb6FMRuvgc5FNrFtnCR0/DIRf6muxw82JyLDfw6/bhNKQbnrra/8PoY1HWtl9Ie1ZJtu+vUWfZW2ntU02Fh3qNYWGC8NVAMyR3g1AK5pTLtha0pMqMycE8XEoAdzGpfhkPXoG4ckdN6WJE+Fg5cgqsTvAc4eA98r3EzOmCshuogoeUGSotIaH8bZ2pcobxA/dh6DjqZoYTXM0G1nYHrnClIdbwg0qT7+U71Pazg+UurG1ZOJeK35sbrVzEwud2lfvu+1xkQRHK4pME/aj38kH4XN1mb+ZHeDqYANJBfpTFnZpIld/rZBJy285B9dZ5mI5Yx8f0nH4cKlAf4rzaUZRYH8vcgJUBN5la5kBC9Cs 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: Hey SJ, Thanks a lot for reporting! On Tue, Apr 30, 2024 at 4:20=E2=80=AFAM SeongJae Park wrote= : > > Hi Lance, > > On Mon, 29 Apr 2024 21:23:07 +0800 Lance Yang wrote= : > > > In preparation for supporting try_to_unmap_one() to unmap PMD-mapped > > folios, start the pagewalk first, then call split_huge_pmd_address() > > to split the folio. > > > > Suggested-by: David Hildenbrand > > Signed-off-by: Lance Yang > > --- > > include/linux/huge_mm.h | 2 ++ > > mm/huge_memory.c | 42 +++++++++++++++++++++-------------------- > > mm/rmap.c | 26 +++++++++++++++++++------ > > 3 files changed, 44 insertions(+), 26 deletions(-) > > > [...] > > diff --git a/mm/rmap.c b/mm/rmap.c > > index 7e2575d669a9..e42f436c7ff3 100644 > > --- a/mm/rmap.c > > +++ b/mm/rmap.c > > @@ -1636,9 +1636,6 @@ static bool try_to_unmap_one(struct folio *folio,= struct vm_area_struct *vma, > > if (flags & TTU_SYNC) > > pvmw.flags =3D PVMW_SYNC; > > > > - if (flags & TTU_SPLIT_HUGE_PMD) > > - split_huge_pmd_address(vma, address, false, folio); > > - > > /* > > * For THP, we have to assume the worse case ie pmd for invalidat= ion. > > * For hugetlb, it could be much worse if we need to do pud > > @@ -1650,6 +1647,10 @@ static bool try_to_unmap_one(struct folio *folio= , struct vm_area_struct *vma, > > range.end =3D vma_address_end(&pvmw); > > mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, vma->vm_mm, > > address, range.end); > > + if (flags & TTU_SPLIT_HUGE_PMD) { > > + range.start =3D address & HPAGE_PMD_MASK; > > + range.end =3D (address & HPAGE_PMD_MASK) + HPAGE_PMD_SIZE= ; > > + } > > I found the latest mm-unstable fails one[1] of my build configuration > with below error message. And 'git bisect' points this patch. Thanks for taking time to 'git bisect' and identify this bug! > > CC mm/rmap.o > In file included from : > .../linux/mm/rmap.c: In function 'try_to_unmap_one': > .../linux/include/linux/compiler_types.h:460:38: error: call to '__co= mpiletime_assert_455' declared with attribute error: BUILD_BUG failed > 460 | _compiletime_assert(condition, msg, __compiletime_assert_, _= _COUNTER__) > | ^ > .../linux/include/linux/compiler_types.h:441:4: note: in definition o= f macro '__compiletime_assert' > 441 | prefix ## suffix(); \ > | ^~~~~~ > .../linux/include/linux/compiler_types.h:460:2: note: in expansion of= macro '_compiletime_assert' > 460 | _compiletime_assert(condition, msg, __compiletime_assert_, _= _COUNTER__) > | ^~~~~~~~~~~~~~~~~~~ > .../linux/include/linux/build_bug.h:39:37: note: in expansion of macr= o 'compiletime_assert' > 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond= ), msg) > | ^~~~~~~~~~~~~~~~~~ > .../linux/include/linux/build_bug.h:59:21: note: in expansion of macr= o 'BUILD_BUG_ON_MSG' > 59 | #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") > | ^~~~~~~~~~~~~~~~ > .../linux/include/linux/huge_mm.h:97:28: note: in expansion of macro = 'BUILD_BUG' > 97 | #define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; }) > | ^~~~~~~~~ > .../linux/include/linux/huge_mm.h:104:34: note: in expansion of macro= 'HPAGE_PMD_SHIFT' > 104 | #define HPAGE_PMD_SIZE ((1UL) << HPAGE_PMD_SHIFT) > | ^~~~~~~~~~~~~~~ > .../linux/include/linux/huge_mm.h:103:27: note: in expansion of macro= 'HPAGE_PMD_SIZE' > 103 | #define HPAGE_PMD_MASK (~(HPAGE_PMD_SIZE - 1)) > | ^~~~~~~~~~~~~~ > .../linux/mm/rmap.c:1651:27: note: in expansion of macro 'HPAGE_PMD_M= ASK' > 1651 | range.start =3D address & HPAGE_PMD_MASK; > | ^~~~~~~~~~~~~~ > > I haven't looked into the code yet, but seems this code need to handle > CONFIG_PGTABLE_HAS_HUGE_LEAVES undefined case? May I ask your opinion? > > [1] https://github.com/awslabs/damon-tests/blob/next/corr/tests/build_arm= 64.sh I'll fix this bug and rebuild using the config you've provided above. Thanks again for reporting! Lance > > > Thanks, > SJ > [...]