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 16147C27C4F for ; Thu, 13 Jun 2024 07:52:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B4176B009F; Thu, 13 Jun 2024 03:52:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 33D406B00A0; Thu, 13 Jun 2024 03:52:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1B70C6B00A1; Thu, 13 Jun 2024 03:52:21 -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 EAB8F6B009F for ; Thu, 13 Jun 2024 03:52:20 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 5C6D31208C0 for ; Thu, 13 Jun 2024 07:52:20 +0000 (UTC) X-FDA: 82225097640.27.DE2CEE7 Received: from mail-vk1-f172.google.com (mail-vk1-f172.google.com [209.85.221.172]) by imf17.hostedemail.com (Postfix) with ESMTP id 98F8140002 for ; Thu, 13 Jun 2024 07:52:17 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=NzumAzYH; spf=pass (imf17.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.172 as permitted sender) smtp.mailfrom=21cnbao@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=1718265136; 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=RVAot2rBlUp/5AtT89Dnk6Db/qhauHUEK+I0Utm4dKY=; b=SaqITRKZnRAUdxdtuGRbm6fBYlb933BSNocjPQ4dY1rLx/5fdnI1Xs0+JAK7ufT3L+HLQg cbOuL9GxZC2oWAL+CTFaFgfhGg3iykgcEnVx7T4WOy4fI5cU6el7vTpiHv6bKtDUPOHyjw 7hG8EnIM4ZxP2SC+AtpR6HaOZwFz9dw= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=NzumAzYH; spf=pass (imf17.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.172 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718265136; a=rsa-sha256; cv=none; b=gju/AfvQF9o9lrLl0PPMmZUvO1FEw4cOASWNs8jjP+rgFOEGKA3mMbISrtoCnW5Hur7LSX KJMS/Hbx9DADMsalYCcgy7t0FAa6SwK3nD+qR3c7iTk43i0tuHB4SnayvmAPiqhNkalNND BwxPYelubf22w3kF59JfMizhJIl9UK4= Received: by mail-vk1-f172.google.com with SMTP id 71dfb90a1353d-4ecf1013d73so217188e0c.2 for ; Thu, 13 Jun 2024 00:52:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718265136; x=1718869936; 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=RVAot2rBlUp/5AtT89Dnk6Db/qhauHUEK+I0Utm4dKY=; b=NzumAzYHbP6HotMxtEd6WiA1wvGieILYjOiuq2vI2/57/FPakxQaBawK+tNwPnrwvf je6i9gtQcTOoJL4EtdVcdSxI7LoiSkcVhTmk5U6iE4L6x3Sk65ofp9oUZ2Dhs1TRpQD2 KptVpvMLJ0R5ffHenzSUs6BAoo4t271rzRvsQ+Vq/Q9JKw4+EOtQozn6ZjfRYrm0Vylh F6pK8EuXT9OFGtYUsiG0Mfvl9QY31nK8pA6g4hKe9i7elxSB0VLvQzBdbpkwci6B8S5s ScIEBOFEMHwfxMNSV1OiUJcSi8uI0d8UYHHzCTRRAnEFdWj5uRzBhL50d7CUvl1kf/Ub SNGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718265136; x=1718869936; 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=RVAot2rBlUp/5AtT89Dnk6Db/qhauHUEK+I0Utm4dKY=; b=mvxg1ckFW+Bd4S7izE7PaCT7XicAwK28/7SeDIEpop3oU6c2pz8jib8yBtbsqxxNdF /k3o59AgaCm6Rx/r1b1CidgUZB2e1usYY6Y8GBToOT/yaoEG91cTBGWxdOhkDFyjaRsU sE4g8B2m6SJOeDHsgSfX9H5oOZr/o5rUaETQgjnKzRPgtOw9Mui2KCJ9LXLed69eqcWK KPwXy190pImWfblLI/kiVb727SuwLvVypzl6x+S++Ope16DO+zAvd7htGi0MNDrJUruB m/qOP36LM6fl9B0qE0vBlD0vh4mCy2RlE3HE0Tf2FpQDi52Zom12uCnB2YUEx4PEyfLZ t4IA== X-Forwarded-Encrypted: i=1; AJvYcCUkuZwoSGc6DFCAn8UOtc3ZaOUdRU+alpxDVoZIgEMpjUR/klvhWnYQgAfvytUpLxgVNkkJ43EFtG9sa2y1cAI5ejo= X-Gm-Message-State: AOJu0YzIcdIqliW8Gjzv0rJaFn2F1OZAvY4veUyRJdQR9iAR4rjZOVee p0V02FyrijvWWp9GVZpGHPYE5OzzDOcJ7DXNMWqkkAj0yPuKHcJ8RYxrVD6SyEIBSF1Whr61EmP qlaLFbm+pqeSOS8hKP+O6yu9+bHs= X-Google-Smtp-Source: AGHT+IFARuBVRgH5ZSETF1WprKkZ2/+FliDRYgvLKglKhTBw1qpD0mkDTG4ohLO6I+cFd7Bsicjz+ynPNNOvZNHUcG0= X-Received: by 2002:a05:6122:2a4d:b0:4ec:f4ea:6495 with SMTP id 71dfb90a1353d-4ed07bb5f97mr4810171e0c.11.1718265136370; Thu, 13 Jun 2024 00:52:16 -0700 (PDT) MIME-Version: 1.0 References: <20240610120209.66311-1-ioworker0@gmail.com> <20240610120209.66311-2-ioworker0@gmail.com> In-Reply-To: <20240610120209.66311-2-ioworker0@gmail.com> From: Barry Song <21cnbao@gmail.com> Date: Thu, 13 Jun 2024 19:52:04 +1200 Message-ID: Subject: Re: [PATCH v7 1/4] mm/rmap: remove duplicated exit code in pagewalk loop To: Lance Yang Cc: akpm@linux-foundation.org, willy@infradead.org, sj@kernel.org, baolin.wang@linux.alibaba.com, maskray@google.com, ziy@nvidia.com, ryan.roberts@arm.com, david@redhat.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-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 98F8140002 X-Stat-Signature: enty1x5kcb1k5agmyj3uf9niur3q6dpu X-Rspam-User: X-HE-Tag: 1718265137-400363 X-HE-Meta: U2FsdGVkX1/cuYxR4UVNlbVhqupteFmsTuJEAptb3xstS/a34MZSg9l44ZF0pkgibnkKLLeM5Ro3UZncAGkzC/HGIkvII6GeMbujtXYK8VZ8JT87T2t9oMyROHtBIRSnFqqPyxCtRZoCobWMpQd0GbxoW+RkqqmcpgJzWa2ra8TrfKcgC01nCbEP6g79D00BpbHocY0khQVDDdB61tCO8Gx2Ky5y6PfG1Gk7Fvi3oTxYVeEZLlc1K7kFIkivjcODD7x4GnqQKZr3585TZMVA/Bd42Lp/YZT6UGQVljujeJGqZC0a0y3kNi1CY4QcJI4XGLLxtQH95f/AIAoE9P2HzGxGjby4LwQGjlm+0NABQe42kqzcAJRlArv1wpgl5S+MWdwtCjKNBYkBaz5ggMcAjSRmTo8PeU1lMQIkeAX8WS97LO0JN1BWvf3ddvK2MJGONYH8t/9fVMMILvD0ws2xhh3SIuJrs5NKSW6JMTkKkbaWDOguHna7ir4kngDsdc+SXJigSoVwJuUrfrPKe961VzY/h7HPAMlS2g+VuRbKcB2qVyGpo6+S2sVMXgEfFeM4baoa4lQ6TXOkXWn6l2XMjiqEf5nfeL1T0h1oEM1vMVtRSXrgMLehoDqAltun0AvZ8L1zFGsNyPiEwrmv9eo1iEoUOMfF8zafwXBpUAHX9aa2lMXgfjt5yhje9ti3xdEgOULyiw5ha2XCpPnNwRESilK0gSjXLQquk8upKZHnxK7i4tcDAnWk8CsVUvub0m+ld2H2vPVMqthN5G/s5SklKDmoeY7vOltYiXmzyaYiWO0BAbC659IYg9s5AG3M//bcTMQ4R35e5QmujOLNjk98334MeZO4G4/xjIKQsKcjLWPjPUxX8l91pPDRgTQfJLwmwzfYoZOxPEXTdn3HQinO+G3MDpG/2IKIs8Kqqt4VFe/pfgwtO5xzSxbZtz17DAdbTwteuZGBQjyh9uo6qKl FdJmBzih ISJJKuLmNjOQO6I0RkvT//mrvAzfxys4qADObVFZbVykFCPRH4tl7XESZ8feWXMU60Qh9S9UGE9xrptYhGsbeuoKJJJh8oDieM1xmhiWtZl1E+ZV7y+y/2QZzXdhpLGNPXmoaLLorrKsrjQRfd8bT3aE1+Ge2ArTJa6gK4bH5nO6xsidCK8LgZ2EVhMkAaMetJT5NitOQBVaMS+PgyYdiuCUUP72ykxWtkF2cqOD3PA74Oo/nCSM6yGOvW2ovG3Qa/PNFzZrTZ9nZYVv+6oKXYlgAYLasMgBnX2B1Sx91rRVrrziB2uXA0P4QsRtBeNXD7Bskq+Kya6Lx9iz6x3dYPqfDtY9IXVtt2fHZw2Hft1C4sonuKSUtUbpe4ePgpb4q5loC/UhsjXqZwx7Z+qF3onyHFYJR+ki1vhpqyN1WNOPSwijBtkculivFfokoOIO/RtC0 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 Tue, Jun 11, 2024 at 12:02=E2=80=AFAM Lance Yang w= rote: > > 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 > Reviewed-by: Baolin Wang > Reviewed-by: David Hildenbrand > Signed-off-by: Lance Yang I don't think "return false" necessarily indicates an error, so "walk_done_err" doesn't seem like an appropriate name. However, this is a minor issue. Reviewed-by: Barry Song > --- > 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, s= truct 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, s= truct 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, s= truct 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 *folio,= 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, s= truct 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); > -- > 2.33.1 >