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 7159DC5478C for ; Tue, 27 Feb 2024 06:42:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D04216B0136; Tue, 27 Feb 2024 01:42:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C8D2C4401E8; Tue, 27 Feb 2024 01:42:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B07486B0139; Tue, 27 Feb 2024 01:42:21 -0500 (EST) 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 9BB546B0136 for ; Tue, 27 Feb 2024 01:42:21 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 69D0BA0AD3 for ; Tue, 27 Feb 2024 06:42:21 +0000 (UTC) X-FDA: 81836639682.04.7697AB9 Received: from mail-vk1-f177.google.com (mail-vk1-f177.google.com [209.85.221.177]) by imf16.hostedemail.com (Postfix) with ESMTP id A31EB18000B for ; Tue, 27 Feb 2024 06:42:19 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SNX9ooTf; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.177 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709016139; 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=KMU9qADzbYYxkLIXU2ki+0Gre6TmTJY0ABFyENCubko=; b=EBZNW/I8CFRAuk3L3v1KEeK5ZRZ/yiAytoY6VbpUVEnh/r88W9r509qsjP51tDrh7AxPWv HIImOV/SOQw/cZ9lXHoneZQsIOYYrHBa/0TN4sY+9zEwryovHfOVkU2vuQKdIKDDCEnYgK b47/zkmCOfUIrM65Sg0Iqxgz+J8q9Ic= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SNX9ooTf; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.177 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709016139; a=rsa-sha256; cv=none; b=dLNlCtk1k82fpCIFvIkzz7EB6TlDwykxUj+BgZCS6u9HUBUPt6EAf90NYo1hKwy0YrhVDI 9ACpl5NglP4Z4RHrXPucI9RLFUNIMrDAAMYwEWSjnQgad/T1PyMesljlN6nvOYyajcMnRL EEgfUvMNbiF/h7a8aMtVNI4PGESKpkU= Received: by mail-vk1-f177.google.com with SMTP id 71dfb90a1353d-4cb26623d0aso971008e0c.1 for ; Mon, 26 Feb 2024 22:42:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709016139; x=1709620939; 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=KMU9qADzbYYxkLIXU2ki+0Gre6TmTJY0ABFyENCubko=; b=SNX9ooTfMH2z1IyKMf3WednMW5uJ6dbij6u9W8k/EPTk3P+ieHMhILCB42SvqudjEV O+W6NSxHcrT2eBBQCCX94E+55bsXl6yDUA8IQyDQ+Um3avk5XWAvl1PIVKWpo8EnhSaT oLQu1Pxw2NpnuRgtpvPrqY5NtWyCtifvP0OjifYjyF8+A57dX17lDiAgWK9eFTIUGwXC BomK4Fk1Mx0MPuQ3Ww9WRUE9JJl0ZWH8fXgECuQiTaZbXUCXe4mMvprvYzFr6yvU9fVd oyjipBZY9NZP8/n72+HVxSNbIfkrg5ds2vY5maQpbvjX+ryGQD/bYKeqABQ0AkLWShAC SL0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709016139; x=1709620939; 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=KMU9qADzbYYxkLIXU2ki+0Gre6TmTJY0ABFyENCubko=; b=MKoKEjT+FR6MgBYZChttJNpq2JiuDjmFByMlwhrerg2H8k5xeQ8zyOe4CdMIa/vezN GjirETRwsQn4SwmHw7z5CxiConX7PpAgRWO9EtjZ2K6QPcagOGr8liJQ7AQbCW8UV+pV FBHr1pLb196gHIZ3KRJstS0l5XGsZLo9a5OKz/+lAzKf2YYQ+yquXmq02ypqKSw+lOdR B2VUCdXQ9svC9TlaLntRmojscy+/Ee+ofwDSnqU67OXZTYQ5CCCX2nYBcl7fjWppL3nm YQJNylMcCMuY66nEXQCTH17QDXgrZISRkLjgjzk15Fv9CpCg8tzyHtk58PSHPQVGLnBz wP7A== X-Forwarded-Encrypted: i=1; AJvYcCVi9EDq0KWWSL+NmOonqW747H0EXpOm+vxdD6P1EX7M2BiwR8dv9ddCzl/HQlvKyizTOpYno4PSuukYLBP/hemJUpQ= X-Gm-Message-State: AOJu0YyClTsoR7lTYq+WqH3qOTZgzioeaC67RMjaGvIeO2lAip9nVS8f MUlhjiaFTxZ9Ib3Auz+b+clKWQSBgj+jkQC5nlq03AamTp8inGQ1PJI/gmIiUTVKH7WOkdiesaM WLRClInlayH5WwalTCVepQ3LOWkI= X-Google-Smtp-Source: AGHT+IH3nWgTZlwiHtzk+iQibAStqjW8Pp9ieq6LHUZrwCOg1URru80WCQL+F7gaFu7RIzEbjqYZLX/SPGHtFvtIexY= X-Received: by 2002:a1f:48c3:0:b0:4c9:98f8:83d7 with SMTP id v186-20020a1f48c3000000b004c998f883d7mr5516735vka.0.1709016138630; Mon, 26 Feb 2024 22:42:18 -0800 (PST) MIME-Version: 1.0 References: <20240226083714.26187-1-ioworker0@gmail.com> <9bcf5141-7376-441e-bbe3-779956ef28b9@redhat.com> <318be511-06de-423e-8216-af869f27f849@arm.com> <19758162-be5f-4dc4-b316-77b0115d12ce@intel.com> <3c56d7b8-b76d-4210-b431-ee6431775ba7@intel.com> In-Reply-To: From: Barry Song <21cnbao@gmail.com> Date: Tue, 27 Feb 2024 19:42:07 +1300 Message-ID: Subject: Re: [PATCH 1/1] mm/madvise: enhance lazyfreeing with mTHP in madvise_free To: Yin Fengwei Cc: Ryan Roberts , Lance Yang , David Hildenbrand , akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, mhocko@suse.com, minchan@kernel.org, peterx@redhat.com, shy828301@gmail.com, songmuchun@bytedance.com, wangkefeng.wang@huawei.com, zokeefe@google.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: A31EB18000B X-Stat-Signature: ogt9uxtgyfcak5bis8pqxgkrqoah46zc X-Rspam-User: X-HE-Tag: 1709016139-737711 X-HE-Meta: U2FsdGVkX1+z2nled4LpxcHAiE6tbGdXLnUyHcd+lT0O+x4SGoZ9VDBMm/o5eGU+ATTL3msfv79zK8KADNHJf1b8CbQJjy4N+e2hx9Eg/jMhhZlat8lFRbw+8gWJ6obNzomxnAh2hlc1BTfZfYEF0n9VDEdMxuzZ4Np0h6RmJ8XVKWtSn/yFyGO8spMWGExtYgBKnfuVOnuPYghZFmgsXRsE+FmRiDwkiWOBPi7Nfkm7EAAdM2AqwMJbnKPU6n2I5C2AkXmWkxrLJNeAeXYQBcpn6dobvQc4cWhfN4j2TRpDtMTv9IQ1+CjT9xK2A9zETUldGBWTM2kgW/sN0cBRBAmVgsX9wC9T1GveQ04a93RtlsOFwlOI0BZqHJeAvHUpbvQqVGYVsLG03HY2etNLWZ0EstDhp0tPuF0M5SFe5NcYrC+1t/HCOT3OmsOFiIgTbbQfnbvG/iJ9sJz6pIyKTNVA9onOu4grhNkVfmVCvG6WvNqUdKZvY+fql8WCMxBBc8l3mG+UpXMoMgDLIOxIFkyv7bk+RjzsAod7ouHkNB2/u1TFx/vXTXC81P96ROkibhIV4lFpAMavSvf+461RUDL7Z4B60w/z7VHomhdta/fzJN7krwxDEEm9ShTZQCcKkLW1hGhT1QtLLAUvrB2IBcrMEhllXMkrwtX+a20rcOJa1cwu4MtWOHJs5kIjgWxiArLlXxEdHArqzOTauJ8iqgbkxt5o8/xE0u3HxlgNILz/aRoiLMaZrhSukNvRuF9aQzS2SMSkhwpgvlAALAPecQk1aHDnWrv3RMmjMoALSRC3bXeNkJMilJUTegK1LZHW6S9vq3aDdiE70X/htMTzvgMY/aLJMJeys3pkiunBvLKAj8SUR0n+7xo03xrJN32ZuVe+4bpfNwl0VlSOkC920MJy/RwDACvprt5fUeae9jGBudBjZ5AXAdTAZS1fubZBZn2bInvhWf/NEp/9FCU 8ZsNwlSz jgfFBoJp6m4pjffzG0FU7t5jCT+iFlZz8Md6HSwiH8CXbd4rtmVm81kBAw6enmBkz4g6xaGYWPC458OGx7anMqG9d3v96Xd5iubpJJBBgGX96IV7NKiIF9bfhgb/dC1zBn8xcOEYYqZKaxkIsuR3hjUhgMEZYQWdMV9X5lX6rO5Ltoy+hFdRvyHEuQhperI7JaJ+4CgVdrRx/lQ4+yPw9k2jPsZwxKNwPyNneQqEZb9GpJ7y35TqFoJYVZuzpzJcle6teUBS+aGJ7Pir+wzPGA7ZNjkgj3tFdzKdZOoAk5zjuQVhvU5iQk64Yu2ZBIHjHzaiTXCK/Nda7K6nAf7SdeVg1QaVCVS+cPulJ4echB72ydUCwVxJ6YNuEEWP51vEHW+SXXt/8uLSwMuFeVG3of1lFz1u5y6boWYu19J+L8fYvO8aZrcnDR2hQNw/IdRElGyUZ 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, Feb 27, 2024 at 7:40=E2=80=AFPM Barry Song <21cnbao@gmail.com> wrot= e: > > On Tue, Feb 27, 2024 at 7:14=E2=80=AFPM Yin Fengwei wrote: > > > > > > > > On 2/27/24 10:17, Barry Song wrote: > > >> Like if we hit folio which is partially mapped to the range, don't s= plit it but > > >> just unmap the mapping part from the range. Let page reclaim decide = whether > > >> split the large folio or not (If it's not mapped to any other range,= it will be > > >> freed as whole large folio. If part of it still mapped to other rang= e,page reclaim > > >> can decide whether to split it or ignore it for current reclaim cycl= e). > > > Yes, we can. but we still have to play the ptes check game to avoid a= dding > > > folios multiple times to reclaim the list. > > > > > > I don't see too much difference between splitting in madvise and spli= tting > > > in vmscan. as our real purpose is avoiding splitting entirely mapped > > > large folios. for partial mapped large folios, if we split in madvise= , then > > > we don't need to play the game of skipping folios while iterating PTE= s. > > > if we don't split in madvise, we have to make sure the large folio is= only > > > added in reclaimed list one time by checking if PTEs belong to the > > > previous added folio. > > > > If the partial mapped large folio is unmapped from the range, the relat= ed PTE > > become none. How could the folio be added to reclaimed list multiple ti= mes? > > in case we have 16 PTEs in a large folio. > PTE0 present > PTE1 present > PTE2 present > PTE3 none > PTE4 present > PTE5 none > PTE6 present > .... > the current code is scanning PTE one by one. > while scanning PTE0, we have added the folio. then PTE1, PTE2, PTE4, PTE6= ... > > there are all kinds of possibilities for unmapping. > not to mention we have all kinds of possibilities like PTE0 present for large folio1 PTE1 present for large folio1 PTE2 present for another folio2 PTE3 present for another folio3 PTE4 present for large folio1 ... > so what we can do is recording we have added the folio while scanning PTE= 0, > then skipping this folios for all other PTEs. > > otherwise, we can split it while scanning PTE0, then we will meet > different folios > afterwards. > > > > > > > Regards > > Yin, Fengwei > > Thanks > Barry