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 8433EC7EE2A for ; Wed, 25 Jun 2025 21:03:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 09FC08D000B; Wed, 25 Jun 2025 17:03:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 077FD8D0001; Wed, 25 Jun 2025 17:03:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ED0968D000B; Wed, 25 Jun 2025 17:03:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id DBCF58D0001 for ; Wed, 25 Jun 2025 17:03:37 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 8010E5B661 for ; Wed, 25 Jun 2025 21:03:37 +0000 (UTC) X-FDA: 83595149274.16.0D4C9D2 Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.172]) by imf08.hostedemail.com (Postfix) with ESMTP id 9C01B160013 for ; Wed, 25 Jun 2025 21:03:35 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WZdvL1zC; spf=pass (imf08.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.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=1750885415; 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=LuTntz9BFf5ebn4Es7zVDFmervtvOhJ6FRn+jJiUsIQ=; b=3dWxg5pVkgAof2gUnF2GXGloU4mdiEfR/SORFb/eMR4Ihd9+BqZoMpWtXktqi6UOhBW8jM QMF3fsxNM/uJGyd+RvJuhq3YIN5yjBZt0b2dz8YIVn6SmW/ZgdDPG1H+tdypmUnfcisHVa vAhAo0DrxrCrjv3bsx8lprDtMcriWo4= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WZdvL1zC; spf=pass (imf08.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.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=1750885415; a=rsa-sha256; cv=none; b=yuAeqBjYl0E1+80hSyE+JSnBSipNsFAFZ3VafSLN5IB5Yk4lm7v6J91q9LJLmJsX0mdyeL bUlH5tdswf5OjNU6lxXByaHeduPVKYtDadSSyaft4gqh4o/+kkBZRqzrAwZ2WXTOLxpB6R EuMAuNRktQFZ0XcHhanKqhLnKyAIvrY= Received: by mail-qk1-f172.google.com with SMTP id af79cd13be357-7d43d220c07so1691285a.2 for ; Wed, 25 Jun 2025 14:03:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750885415; x=1751490215; 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=LuTntz9BFf5ebn4Es7zVDFmervtvOhJ6FRn+jJiUsIQ=; b=WZdvL1zCTsPVuVlBS5FMDwNp7Ae3UvJjMbccuuUhmKeyPFGCX2pRXi7S+OH6kMMduH eSOkA66xOdwcPuIe+ZzlSExUo/NIq2fQCZ6tUFGhamW/beqqJzDJDmBN7amvjA2WmNx6 VKAsNsE5w6s/HcXYwZKibgenyyOlY3EjlUeNIPRGkaduCKlWiP2dzw9Ju9PJxm9ArW6W 7Zbv9IUQa60ogCjDc0BvGjM4kM+sL3yTknz3HEbFO1rxVysPguMDf2GUOuJTVYMrZbJA mAGtRaMq9GPQGFpG7pP/KBGSlNhq32h8vBfiJgbyaTSISH/vP1b1pxnC3fvUat59suxa T0NA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750885415; x=1751490215; 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=LuTntz9BFf5ebn4Es7zVDFmervtvOhJ6FRn+jJiUsIQ=; b=HjUErcOBVsBrnugwn92XCPMIfNMDkLGQ1F+TdrF4n23kyayNp06GQ0AizGdcTD+O74 67ti4/8TESeJl21K3jgriGDwi9Eyg04QHJiHgGzV8SQafA0UpdOWnW3e0vH78t/f0ADM zRZKLoDP5VcyzZ4ysVn1BBbIKkfLye4Ta00bwGsFeHkt2bMwEEISQa9i7tWTXa3ckryS cZmXpfZmsEXkm/jTfSfOOpAk/HEvqQzuiFRpXwA6Zy0UnumzYN8j07pVVGR+5CYJxGg5 9YBWhmAKA9YstxkCE5PtxD1+ov2Vn3VK6yf0CcVja6Imiy10tL2oY581DfxlN50nStdS EVDQ== X-Forwarded-Encrypted: i=1; AJvYcCUfVswbNnMWHC1INWo7d6NEe/LxuDjqfWlcgPnO+SYHGWB6oNEJfHTxwyJCl2vXV6OBGPtgYsknjw==@kvack.org X-Gm-Message-State: AOJu0Yyvibb4lN3w6EG97CnbgRxINQS1YNZXMgj3VtABp5m4bP7lAUBh 2IxR00cy6nqR2V9x+aR8o1nmKN96loN/02Ekftb95h1bryOr1dPPmKvrjNe96WiQNnsyc5YOuG5 db7pFXpVPM+KzoofS4wmVB6xbi741BGM= X-Gm-Gg: ASbGncs4GG5p0AHdSW2HHzRlR59SvUkJdtjLP6zSTyqq1vk3lsMBjBVoldX54SYjz8s Hz0B5P6vyhYojRcLo+843ITz1+rsd+r0WgTiMOT65URGkrVWw4YjorysI+YPGzN8BouH6xOi31+ tTGQ8UwWNJ6Eh9b2v7zctiRRWbAc/Q0Y627D6sccvAkiE= X-Google-Smtp-Source: AGHT+IGkZzN4RHAItzfVLBrQRGdxtXN6wVwXiT3SzYF5su+kRDMMqhI/uAjSaA5p+2yU3Clxr1zSjUyiiTMDtJ2mex0= X-Received: by 2002:a05:620a:2b93:b0:7c5:4adb:782a with SMTP id af79cd13be357-7d4296921f8mr635368985a.9.1750885414506; Wed, 25 Jun 2025 14:03:34 -0700 (PDT) MIME-Version: 1.0 References: <2c19a6cf-0b42-477b-a672-ed8c1edd4267@redhat.com> <20250624162503.78957-1-ioworker0@gmail.com> <27d174e0-c209-4851-825a-0baeb56df86f@redhat.com> <938c4726-b93e-46df-bceb-65c7574714a6@linux.dev> <5ba95609-302b-456a-a863-2bd5df51baf2@redhat.com> <6179dd30-5351-4a79-b0d6-f0e85650a926@redhat.com> <5db6fb4c-079d-4237-80b3-637565457f39@redhat.com> <42f1d84f-2d17-43b7-8fa2-83322fcca44f@linux.dev> <9bb1e917-891d-4e1b-915f-98cdd5fc578b@redhat.com> In-Reply-To: <9bb1e917-891d-4e1b-915f-98cdd5fc578b@redhat.com> From: Barry Song <21cnbao@gmail.com> Date: Thu, 26 Jun 2025 09:03:23 +1200 X-Gm-Features: Ac12FXzQ50B3QUTM3cNo6E1eE61G-cA_2po-kY1vzGFbEMDCEnj9ZU8KpCPcWfA Message-ID: Subject: Re: [PATCH v4 3/4] mm: Support batched unmap for lazyfree large folios during reclamation To: David Hildenbrand Cc: Lance Yang , akpm@linux-foundation.org, baolin.wang@linux.alibaba.com, chrisl@kernel.org, kasong@tencent.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, lorenzo.stoakes@oracle.com, ryan.roberts@arm.com, v-songbaohua@oppo.com, x86@kernel.org, ying.huang@intel.com, zhengtangquan@oppo.com, Lance Yang Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam11 X-Rspam-User: X-Rspamd-Queue-Id: 9C01B160013 X-Stat-Signature: rkct7unnxfzmsi7z96c8qup1hpuorc1b X-HE-Tag: 1750885415-124025 X-HE-Meta: U2FsdGVkX1/knhDmhRi13is78qQsOI7gvz2J2IAqs8ZEm9ImdgzzQGrcN4K2s4xDvCoBds6XBFrC3YYiKB4lIFyUOPCm2dHm9/LpRx3OaGJfe9hMsp5BV7Y2hzag+w19Dq/ySGqor3aa29DJTz/R8Y5lcaMtu1ovGzd93SSmzMmEnU/FJBawSmxH2Rp8zDFKqerBfmO5ZODAVv95LALAacyuhy3aGImryPvkmIOwk4oElpENL64xnr1dUj/ldkKzg+ms8pliG5XyqrA6JzYRmqSe6bKKiukGPmCiJcZfpAp8E2mpCtgmG1KfA38zRPHLueCyxkjmqoCBa8kY1Jn1G00ztDg6jZWvR+R+FdYi1wdsowoUauub7LglNB8zb+SU19cKFfgh2zPGiRxOc9uKqaNLxOGh3ZhZR6yYyTB700jpHcSH+1GgKjg7p1/1CviLYKaDCXh7E1vholxRnz0VxylSle6Kr0ZGazRhqX+t6MPmwOLfF7UTtHdOAT6mfnuQg6VkLuFKHHZYnP78iLfz+Y4JYyJ36ty8g6gtwfBDVjsUNW+OUFaCXymm3NukvdsKYB88ciCp4oSMqYYjyX4lRRMVx1Zw9AS5EkZWjTLEv2DABhKIrn5mKgEZ2L1Eqw/gaZNT4GYU+LXgFbdNAz+iURuizGMr4DSM3LkUQu5iWYgaJM0ihZhO8do9V1+v+7TFewcOzhi3/vAjUb3hUd+ecyzf0yjOFG82aDl4Bm2Q/+/+6sUtr5iWe1j9HaAy5Xx2zBdyTBOvCIDZdN26z04u7125CwB7ACMijrQXJMMiimMyAq6wHlqK5xr9Yk1blTOC02V0Kph5wAzIJylLb6dAzr9EoQYCquTCbZl9DGrrnr6ZTP7vMESQI3/6L8WHy01g5SnR9aIctq9XtLQnPYq06CsKYz0Epbc9CFnngga5/08vOAsBSzlQHIbfV04QSppVUH42g6hhFkBPF+zRtkm LQx06h8h LcVUvfPhMxRZFB/KbWUIen1G3ojRENc5ImtJ0ajJPTzjBX82CQyhdQ7wjb06W4NxzoYnfW8I3pf9ChBTVg0waQqKkCLL4MOoUb1tkoKfc8p2isWUebEO5c1L4XftxyEDtHLkD6wF6wpXaMIwm98Ob1Sw+1YUiy3+/6VYL21P23E+R0pdLS762lroP3oGBw+0ukF6qxbRgXhzeEDgCUUCacTAJ8AWYWHTla3RF700ph3FBO1qPE+M7ao5mI17NjnXctALmDiITH+lmU/JJ7YCk9SZn8Mwah5Lu5ZjyX1ffukVdexkj5xkx7pBfQwzdpY3hL0uvHcQ1iaq8E8rasSHGeiZFnw== 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 26, 2025 at 12:25=E2=80=AFAM David Hildenbrand wrote: > > On 25.06.25 14:20, Lance Yang wrote: [...] > > Hmm... I have a question about the reference counting here ... > > > > if (vma->vm_flags & VM_LOCKED) > > mlock_drain_local(); > > folio_put(folio); > > /* We have already batched the entire folio */ > > > > Does anyone else still hold a reference to this folio after folio_put()= ? > > The caller of the unmap operation should better hold a reference :) > > Also, I am not sure why we don't perform a > > folio_put_refs(folio, nr_pages); Because we've already called folio_ref_sub(folio, nr_pages - 1); Looking back, it=E2=80=99s kind of ugly, huh. discard: if (unlikely(folio_test_hugetlb(folio))) { hugetlb_remove_rmap(folio); } else { folio_remove_rmap_ptes(folio, subpage, nr_pages, vm= a); folio_ref_sub(folio, nr_pages - 1); } I assume Lance will send a patch? If so, remember to remove this when switching to folio_put_refs(folio, nr_pages); Thanks Barry