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 AEC14C04FFE for ; Tue, 14 May 2024 07:43:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 02AA28D001E; Tue, 14 May 2024 03:43:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F1CC38D000D; Tue, 14 May 2024 03:43:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DE5298D001E; Tue, 14 May 2024 03:43:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id C02C18D000D for ; Tue, 14 May 2024 03:43:37 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 4976F1A07FA for ; Tue, 14 May 2024 07:43:37 +0000 (UTC) X-FDA: 82116211674.30.50C5E2C Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) by imf30.hostedemail.com (Postfix) with ESMTP id 6A57A8001D for ; Tue, 14 May 2024 07:43:35 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CevKUwWe; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.167.45 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=1715672615; 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=4/VccQWyT8Bx973VMOtP8EZFRmihEF3ZYyQtstggVOo=; b=J2P5Jq1/9DSH81MEhhurc0SLhNBvU6f12NrudlSmviYUyZmjvRI7c1eHDM0sp5mSh+mCS0 jFIqhlErFTD2s4qaHfZSLvN1RLZRWpljgOciKB5xkNUtdCl+GqPH1BUKWQgL73IGfhELSr dTWYbkoY1ja0MW3+4Va8R550Ou/jCu8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715672615; a=rsa-sha256; cv=none; b=M3aMc1afT6Q0XkVOEqiBV8NENUlbpKb/xOudzllG479HdadVnLpSpuxd06SmTmNaZ6iOHE aSnFX6HiryHEC8UAyJympkVCTtH34GU2Pppe4xryq2GZfb8Itqebjy232OwhlszKHBUHYk zkV4M4XeRtvKEKkfWptCkbk7Ktq6I0w= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=CevKUwWe; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.167.45 as permitted sender) smtp.mailfrom=ioworker0@gmail.com Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-52327368e59so2326579e87.1 for ; Tue, 14 May 2024 00:43:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715672613; x=1716277413; 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=4/VccQWyT8Bx973VMOtP8EZFRmihEF3ZYyQtstggVOo=; b=CevKUwWeBcNCmNUYUsimJVM/Emla7kA3z7+iquiUDl36wOVnvNgx2KnfkZXZt3/fsi oWeOfyV1L+3zm+0hUBq0/w0VnQaOQrBBdPjpuRFJBg0SJ7h709p9yB6bUdV4nRHK1AuU OC5/kZDh7p/4+W7/pCw5gk26Ha6UKeZA0s++yKNR+armhx8TOJwffTErHO4VzNAgkdf9 L48pQVnSLQseFwnkHYmV1R5s1mzrZNxIHeKRQCZ9pxupOlM8rXBBGWyK7LpZGqWB4Czl Pc1dhNzvgYnNU9H05+JNSToAWTI6CcbrGNiIOyA6XSFtxfSRjaTY9r9Z43meoCFqAgOt 0mDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715672613; x=1716277413; 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=4/VccQWyT8Bx973VMOtP8EZFRmihEF3ZYyQtstggVOo=; b=n+8LphBCiv4qjPRHmRohPKTe5ekXlbh5O36NVAHpsbACt+FyTbRpjzC+s04iKh+WOU P1DFdtdDb9Mrt2m+1Wwvw6t8tYRYMSukMOcPNDYDqdPcua7ekzVxDy6BYc9RYHtqJUKy VGsW2qAVNOHvyeRWgZ5EwJNSn0QOfx7YLS5BPAIizj5e+MNvW4a06BrncHR11DiOliQH lb6cVxOwiDPagHVjoMM8wwzWSpJ0nTPDRXEtNpIYAvMsFijUzga1TsG2Cz35Zwm1V1Q3 sgvJCeXe873H48E6BkUaMQwIW2Sl0zebbZNK+hWZ4q1y0VyI2753GhFcNe2D21EwlDv9 KISw== X-Forwarded-Encrypted: i=1; AJvYcCUUF/wKFwgEjM0t9NdmYPRdRKTpNroZVPQVH7eCLf1JOUuDQ/ynBnzi9cQ9G6es2WVHUZY3elzivvAG6GbIMNoCxNo= X-Gm-Message-State: AOJu0Yx/NSUfiKU+1jKCJops2MvGa+HiI86srXgnbH7BYWTAeNuscE7m EjEwan3DSmDvSuK75g+cSw6Jg7HItGkih83CUGIKVUCtFtZbE3BAbd5899AFh8rEUHCBGe9H+3o hEUWfsZA0WRmqQ0qaI8tXXVDP8Kg= X-Google-Smtp-Source: AGHT+IHt/JG/ZmyYJllBadnZEpOgJdbG23o910zsW8NOLQGvVoLctHNUu6CNAiEUCuUCPRMHRWRrw2hAWvJKHZ/NG1A= X-Received: by 2002:a05:6512:158d:b0:519:5df9:d945 with SMTP id 2adb3069b0e04-5220fb77429mr10837058e87.4.1715672613267; Tue, 14 May 2024 00:43:33 -0700 (PDT) MIME-Version: 1.0 References: <20240513074712.7608-1-ioworker0@gmail.com> <20240513074712.7608-2-ioworker0@gmail.com> <2ec286a2-4620-4e6d-ad3d-9b4c0d9e1394@linux.alibaba.com> In-Reply-To: <2ec286a2-4620-4e6d-ad3d-9b4c0d9e1394@linux.alibaba.com> From: Lance Yang Date: Tue, 14 May 2024 15:43:21 +0800 Message-ID: Subject: Re: [PATCH RESEND v5 1/4] mm/rmap: remove duplicated exit code in pagewalk loop To: Baolin Wang Cc: akpm@linux-foundation.org, willy@infradead.org, sj@kernel.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: 6r57fua8rkqwgqjt9p1gd4wmdas1zqpt X-Rspamd-Queue-Id: 6A57A8001D X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1715672615-170799 X-HE-Meta: U2FsdGVkX18Jcen6S+kP+JbiKCeGFU+wdxhtcdT1yQnof5yCOlB5Xe92t2L8Xd/oeovo3qXD2eEB0yOCTxuajgsHehhiJXhJtz1kaGlLgWYPQSTUMX8GcInFKftNZzj42Dgz/HcInW1OrG8W8dYK+LJB3rU4E9Az31F1JXYv4GzYBnPt8kwIVwZy424Cui1fFpdI+JFE4yrkEFpWKmBEehggJtfJgFSdSlkwqxICikTZHrlJQwRFu8CPHSZAV6Ewn1JsZSfXxBw5mpPMIgmlXxKrwms8rYM2yxCgRzNY/l6M2kaa8FjoL3jDINYCcCqplS5OQ003+K4xyXY9oChUfiFajMUVii0+jeXRqTfQqYuYr5StzI02EBk7IJYaM4+cNX1K23t0PFvMk1v4UklqXchJL+2GobZRkzE0ltZl7u6QCW1HM6S0M8zIy0pxts67u+rp4ScXbOACS8NKaS6cy0LFUpcVddt2SWvz2AFWjYu9DRHnMXEnw75jYT/5g94hdf+CfFoTLnqCAxEg3hv0VufsvIjrGJ0QuDwDgUBkbcD4oGqd2E9OEynX/NfJRlSNhaPzd8kI4bOjM8oy2stW7eWhmbfsi19xUzWDv6HDUKW2ulzephHTxGow2bPE1ynu5XZeOLg7rsswUA+HKYTfsrvnQpzNm5BYiI3bSLM8nwLFYcFzdBU3AgxMaAq754rH8Q+mHtAnKLd1h5HrwhxfIvxwjSLatu2T0KpZpFEgiW3Nxt7S6XAhVZggOm/R+djuAM0M0aIe+TiqgazsdPuxrCMPs+aldztNU4dFMALiq5Fe10f0sfJxLZ1g38yIm8tpojYNRZPkyGphc1jIGGdLzyWw0bPMypjALNjqK+AmY8KZyMJDn3LCsi/vXzvabR3ZmHln+jWSVlYOpX+V+Rp+EKZQNnFsxuVnINrBghF/jgr4/fbZI35aP9oGNzUKUkDoKRKKRcIfIFV66STC7SI TMlaeJOJ Emb1yRam5SIuaCP+zlXcZbXsmVvR1rWTGSTthYmfiyfzALF4SIIaKinNLU5hdVApfHsjiFmNM7IHSQxtWqKqnjN4GCblo68MjZ/wyd4XS5Ilik0nT/TfFFxZ51seXAGNB5N0dqPH9RqN5kGVnam1FGKhyMCR7JDBnBEjqoqA0TcyuYWC4n5iWDurvXeq6br3z1wBpgm/SiIuQfsN0nheYKe9hYmqKDGs4K6lBOLgnGEDVN5MZMJ7J2CIWFYFyxTcEjxakvdcYh9yEOAs+eghXxMY4ad7KS8ZgALD2nH6Izl/70RJBs2Yj4ZGfp9FDnXJfKqTTQvU78Va6TtZwZ3tKg9gKVx6m4Gypeqh5Y8bVR48cg8cS7Tw/y3glWIgv9lKeknLFsmq4vA8sl2f7D1EytnXTmFQUJmS63FdWADZCOkC/Gd0= 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: Hi Baolin, Thanks for taking time to review! Best, Lance On Tue, May 14, 2024 at 2:26=E2=80=AFPM Baolin Wang wrote: > > > > On 2024/5/13 15:47, Lance Yang wrote: > > Introduce the labels walk_done and walk_done_err as exit points to > > eliminate duplicated exit code in the pagewalk loop. > > > > Reviewed-by: Zi Yan > > Signed-off-by: Lance Yang > > LGTM. > Reviewed-by: Baolin Wang > > > --- > > mm/rmap.c | 40 +++++++++++++++------------------------- > > 1 file changed, 15 insertions(+), 25 deletions(-) > > > > diff --git a/mm/rmap.c b/mm/rmap.c > > index e8fc5ecb59b2..ddffa30c79fb 100644 > > --- a/mm/rmap.c > > +++ b/mm/rmap.c > > @@ -1679,9 +1679,7 @@ static bool try_to_unmap_one(struct folio *folio,= struct vm_area_struct *vma, > > /* Restore the mlock which got missed */ > > if (!folio_test_large(folio)) > > mlock_vma_folio(folio, vma); > > - page_vma_mapped_walk_done(&pvmw); > > - ret =3D false; > > - break; > > + goto walk_done_err; > > } > > > > pfn =3D pte_pfn(ptep_get(pvmw.pte)); > > @@ -1719,11 +1717,8 @@ static bool try_to_unmap_one(struct folio *folio= , struct vm_area_struct *vma, > > */ > > if (!anon) { > > VM_BUG_ON(!(flags & TTU_RMAP_LOCKED)); > > - if (!hugetlb_vma_trylock_write(vma)) { > > - page_vma_mapped_walk_done(&pvmw); > > - ret =3D false; > > - break; > > - } > > + if (!hugetlb_vma_trylock_write(vma)) > > + goto walk_done_err; > > if (huge_pmd_unshare(mm, vma, address, pv= mw.pte)) { > > hugetlb_vma_unlock_write(vma); > > flush_tlb_range(vma, > > @@ -1738,8 +1733,7 @@ static bool try_to_unmap_one(struct folio *folio,= struct vm_area_struct *vma, > > * actual page and drop map count > > * to zero. > > */ > > - page_vma_mapped_walk_done(&pvmw); > > - break; > > + goto walk_done; > > } > > hugetlb_vma_unlock_write(vma); > > } > > @@ -1811,9 +1805,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))) { > > WARN_ON_ONCE(1); > > - ret =3D false; > > - page_vma_mapped_walk_done(&pvmw); > > - break; > > + goto walk_done_err; > > } > > > > /* MADV_FREE page check */ > > @@ -1852,23 +1844,17 @@ static bool try_to_unmap_one(struct folio *foli= o, struct vm_area_struct *vma, > > */ > > set_pte_at(mm, address, pvmw.pte, pteval)= ; > > folio_set_swapbacked(folio); > > - ret =3D false; > > - page_vma_mapped_walk_done(&pvmw); > > - break; > > + goto walk_done_err; > > } > > > > if (swap_duplicate(entry) < 0) { > > set_pte_at(mm, address, pvmw.pte, pteval)= ; > > - ret =3D false; > > - page_vma_mapped_walk_done(&pvmw); > > - break; > > + goto walk_done_err; > > } > > if (arch_unmap_one(mm, vma, address, pteval) < 0)= { > > swap_free(entry); > > set_pte_at(mm, address, pvmw.pte, pteval)= ; > > - ret =3D false; > > - page_vma_mapped_walk_done(&pvmw); > > - break; > > + goto walk_done_err; > > } > > > > /* See folio_try_share_anon_rmap(): clear PTE fir= st. */ > > @@ -1876,9 +1862,7 @@ static bool try_to_unmap_one(struct folio *folio,= struct vm_area_struct *vma, > > folio_try_share_anon_rmap_pte(folio, subpage)= ) { > > swap_free(entry); > > set_pte_at(mm, address, pvmw.pte, pteval)= ; > > - ret =3D false; > > - page_vma_mapped_walk_done(&pvmw); > > - break; > > + goto walk_done_err; > > } > > if (list_empty(&mm->mmlist)) { > > spin_lock(&mmlist_lock); > > @@ -1918,6 +1902,12 @@ static bool try_to_unmap_one(struct folio *folio= , struct vm_area_struct *vma, > > if (vma->vm_flags & VM_LOCKED) > > mlock_drain_local(); > > folio_put(folio); > > + continue; > > +walk_done_err: > > + ret =3D false; > > +walk_done: > > + page_vma_mapped_walk_done(&pvmw); > > + break; > > } > > > > mmu_notifier_invalidate_range_end(&range);