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 DAFE9C3DA49 for ; Tue, 30 Jul 2024 06:05:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DF01D6B0085; Tue, 30 Jul 2024 02:05:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D79306B0088; Tue, 30 Jul 2024 02:05:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BF2F96B0089; Tue, 30 Jul 2024 02:05:40 -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 A190D6B0085 for ; Tue, 30 Jul 2024 02:05:40 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id EA6D31C0EE3 for ; Tue, 30 Jul 2024 06:05:39 +0000 (UTC) X-FDA: 82395382398.26.C98BCAF Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by imf05.hostedemail.com (Postfix) with ESMTP id C3D1510000B for ; Tue, 30 Jul 2024 06:05:37 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmx.com header.s=s31663417 header.b=CzjRDT8K; spf=pass (imf05.hostedemail.com: domain of quwenruo.btrfs@gmx.com designates 212.227.17.21 as permitted sender) smtp.mailfrom=quwenruo.btrfs@gmx.com; dmarc=pass (policy=quarantine) header.from=gmx.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722319483; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=gLqh9GViikHSPInlzQR0jiEJOHrEk7YyPNsybyNY8+Y=; b=B8XTqzPnXfFGyhexAE8BAc+RTv36fAsbU+1CZWNksm/eArbaH+g2T+s7ThP55Tb0YuvYJA +2qfBr7gDHz+R9c7/LoIwplPJu3HkugPSChAm6u1I5HGCYsnMoqpuQSNlwfmJ0GSnwFCAM rRyE7pZ/3+y6HzSoeI+i1+h4OMVzVXU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722319483; a=rsa-sha256; cv=none; b=0jCSAJBEju8ITdfYSWFIBnUCn+tAzV5uVHOiwNSSgXlhH1+2Hcmod1fofExc0bvkkB86Ag VUSPRTmRTuIFlsWIO1aZCgPfwXhjjev5o1fc7H8A5G2jEwPOXlMnAelngCVtPMpeTDWftz 3mIRa99b2pmqasumsmfl1AQrivMoG5Q= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmx.com header.s=s31663417 header.b=CzjRDT8K; spf=pass (imf05.hostedemail.com: domain of quwenruo.btrfs@gmx.com designates 212.227.17.21 as permitted sender) smtp.mailfrom=quwenruo.btrfs@gmx.com; dmarc=pass (policy=quarantine) header.from=gmx.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.com; s=s31663417; t=1722319536; x=1722924336; i=quwenruo.btrfs@gmx.com; bh=gLqh9GViikHSPInlzQR0jiEJOHrEk7YyPNsybyNY8+Y=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:To:From:Subject: Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=CzjRDT8KV6LDDbjtIHWJycfJz5JUGdkzUVaOlE/E5C88ChkQeu9c9iqOsyXPrfHd +kO8bzKTcyz3t7BMGrGH8f4cxXWXTi1FZtzFR8Wl/KxDZasSQEnGEKlncqaSh1A/6 iJVBxp4mjzMxnOarAJcwmHd3jurp9jztnpvH+inDLnDwCwE+fc1LyySGQt5R8LNY8 qOgiiB9LJSeDuFGn9rW5mokZQ0B+owLKkRVRBB3guuO7Z/Jw1/JIUgF70zLMX7ej4 Xjd5N+V+uNNixSpF+WCl0Mo3Ms6s8HkKvarMxXfE04BuVC0pGNqVkw1pDKAphMztM Yqte0GGq4VJvw56oyA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [172.16.0.191] ([159.196.52.54]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MJE27-1soycG2K8R-00So7J; Tue, 30 Jul 2024 08:05:36 +0200 Message-ID: <7e68a0b2-0bee-4562-a29f-4dd7d8713cd9@gmx.com> Date: Tue, 30 Jul 2024 15:35:31 +0930 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Linux Memory Management List , linux-fsdevel@vger.kernel.org, "linux-btrfs@vger.kernel.org" From: Qu Wenruo Subject: Forcing vmscan to drop more (related) pages? Autocrypt: addr=quwenruo.btrfs@gmx.com; keydata= xsBNBFnVga8BCACyhFP3ExcTIuB73jDIBA/vSoYcTyysFQzPvez64TUSCv1SgXEByR7fju3o 8RfaWuHCnkkea5luuTZMqfgTXrun2dqNVYDNOV6RIVrc4YuG20yhC1epnV55fJCThqij0MRL 1NxPKXIlEdHvN0Kov3CtWA+R1iNN0RCeVun7rmOrrjBK573aWC5sgP7YsBOLK79H3tmUtz6b 9Imuj0ZyEsa76Xg9PX9Hn2myKj1hfWGS+5og9Va4hrwQC8ipjXik6NKR5GDV+hOZkktU81G5 gkQtGB9jOAYRs86QG/b7PtIlbd3+pppT0gaS+wvwMs8cuNG+Pu6KO1oC4jgdseFLu7NpABEB AAHNIlF1IFdlbnJ1byA8cXV3ZW5ydW8uYnRyZnNAZ214LmNvbT7CwJQEEwEIAD4CGwMFCwkI BwIGFQgJCgsCBBYCAwECHgECF4AWIQQt33LlpaVbqJ2qQuHCPZHzoSX+qAUCY00iVQUJDToH pgAKCRDCPZHzoSX+qNKACACkjDLzCvcFuDlgqCiS4ajHAo6twGra3uGgY2klo3S4JespWifr BLPPak74oOShqNZ8yWzB1Bkz1u93Ifx3c3H0r2vLWrImoP5eQdymVqMWmDAq+sV1Koyt8gXQ XPD2jQCrfR9nUuV1F3Z4Lgo+6I5LjuXBVEayFdz/VYK63+YLEAlSowCF72Lkz06TmaI0XMyj jgRNGM2MRgfxbprCcsgUypaDfmhY2nrhIzPUICURfp9t/65+/PLlV4nYs+DtSwPyNjkPX72+ LdyIdY+BqS8cZbPG5spCyJIlZonADojLDYQq4QnufARU51zyVjzTXMg5gAttDZwTH+8LbNI4 mm2YzsBNBFnVga8BCACqU+th4Esy/c8BnvliFAjAfpzhI1wH76FD1MJPmAhA3DnX5JDORcga CbPEwhLj1xlwTgpeT+QfDmGJ5B5BlrrQFZVE1fChEjiJvyiSAO4yQPkrPVYTI7Xj34FnscPj /IrRUUka68MlHxPtFnAHr25VIuOS41lmYKYNwPNLRz9Ik6DmeTG3WJO2BQRNvXA0pXrJH1fN GSsRb+pKEKHKtL1803x71zQxCwLh+zLP1iXHVM5j8gX9zqupigQR/Cel2XPS44zWcDW8r7B0 q1eW4Jrv0x19p4P923voqn+joIAostyNTUjCeSrUdKth9jcdlam9X2DziA/DHDFfS5eq4fEv ABEBAAHCwHwEGAEIACYCGwwWIQQt33LlpaVbqJ2qQuHCPZHzoSX+qAUCY00ibgUJDToHvwAK CRDCPZHzoSX+qK6vB/9yyZlsS+ijtsvwYDjGA2WhVhN07Xa5SBBvGCAycyGGzSMkOJcOtUUf tD+ADyrLbLuVSfRN1ke738UojphwkSFj4t9scG5A+U8GgOZtrlYOsY2+cG3R5vjoXUgXMP37 INfWh0KbJodf0G48xouesn08cbfUdlphSMXujCA8y5TcNyRuNv2q5Nizl8sKhUZzh4BascoK DChBuznBsucCTAGrwPgG4/ul6HnWE8DipMKvkV9ob1xJS2W4WJRPp6QdVrBWJ9cCdtpR6GbL iQi22uZXoSPv/0oUrGU+U5X4IvdnvT+8viPzszL5wXswJZfqfy8tmHM85yjObVdIG6AlnrrD Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:f/RqNqqnxi/jMSu/SZrfVGkIv6NDnI3MVakn7sE8tdMIkF/6mAc PPfWFLXmxTXrBwCjXyJD9VHyus96oo7fkINefTLWsPaGWPDuR2m1lkNd6wkZ9TAGI7tZYUP U9g32RqNUoQGgDnm74PuJAglGoWOrntSF/yejHogaCiu1hwZ8a0AHmqBRknVAjvUPCb+2hd UgFKAMY0QFeySpS9RcQnA== UI-OutboundReport: notjunk:1;M01:P0:KGDQK2MeDU4=;D5x3683VsSKkNcQiwZzjgA4QYIL WH84rY60k7hqwBeughkMHoxeOuJ7cvkRu0byJ85ly+DjQLRP4EzxRJwqPngMG3X43vYle5pFW +hh1kofm7SkXDBHOmuM6a8lzaMZ4jP3XmuEFb3HV7PaF6luOTGBQx3ODFZZ007ZK5vTAmb+xN bb+NbGFmx8aGagymfW9fqua6pLup624C1LevqDiafcIFui+ZBivKaONNw6hMFEXXTFpkMJ1Jl 67ok/r4Ib+hvqh/Hd+rFO8pNzPit8dObOrWS0GOCzXeHLeDS360Dk5oaeB411hKzgo8z/uIQ0 KAEhuW9rkjDgdol5iQnZci5GlG6+y1HhMKxH1zi3UoHYPwU8E9SnQSj9jx4OgznmrJpKJkCYR uNZWr3HXIhTaE3SOyd7UO5u7nE/VgE9mJ1TsFpq4Dx35jGxHH2bhXZRjrHwBtu758uvdvHZ3P ENXWwWKb+qxY/iE4s+RM7dvpVcKzZs3S9Riv623euJge7EufJTZiH0EhECosLbMaIu4+y4Ny5 k2l8n2ln3QE/foQvIgdaTZ9fBVIfXV5z2nVv0DBSS/uJbVhml+xoqc/qj4qYxBhvq0BV/0W00 b4u1iX0JVRm16eiZ8Pi/19lfDDDRlN3K3HMsxUo5i3is4nq/Mu6n0MdP19pLbRTgOoFauCZrG KGER7VDuvVP9kqyyTNJWurYS/vi8nCPGlyMPLBrATT55p5zN2gRdgYQkNxA6HOcr1wuq5tvmj FRQ39VdGL4fRPAVcB8OlbvbH6SW7poY68XMyDhKG0Leqw+ZoXOrTd+3m4IhSdN75cxshuO1dN Ii8s2uxKRiX/Objtmg6YAlzg== X-Stat-Signature: 6awhwrmhq3f6oggdm5pcqq9gqypg81c9 X-Rspamd-Queue-Id: C3D1510000B X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1722319537-880693 X-HE-Meta: U2FsdGVkX1/2NPHm5WpXTJ6bXA+RfBqJn+Y4wezmP6XXur+GX3xERfE8S9VdAIPJvaHfemDmz0jr3KviIf6MHpbs9JjspXH+dPRBtXL5RvhwIOBJiC20JWu8NcHWm50HHdoD94a2OzsNG8MQyozfgrWWJ6UCUl5+8RW7XjEvI8nrjf5IJxm3Bp5y9LT1cfAHAb3i+7f292a/2mbmtylRF3ApjTgOeCwER4cR4rJLFrVH15Qw9VoyoAW/+9SvEc7+PMaq7nN/wGZG0a62OZ4a/qpzBXIwBTTSogrFRJXaqOOUwZObAH9B7Irf8qruKPlZD55ugageubWDDZocIkLBAJQl80886McxqVKKou+hEK8Ni+0JJqocoggSRgS6F0s4GN76JkabNNq2fKCkz6k8ofjGN//IrhqQ9lzAFq6UItSGgUbk8MuX78WsVDaXL1lTATUEgrPn1ttYe5AqTUndfZkv96crOe9o39jFNvtn1bHAeNfxLecJCS5F3Y+L4KwM1lI2lcDy2XtfCRn2v/NBGRy7VpQRi2GlUsOQ4SsaAc/d64kKF599jDLhwmEbHoLXgTlt0BVnmsD7E3CoIASw2zN5DhGlwSgloDWxuGui10sBjVG49BxE2j9yzkHnm6Haqu1YsGiisWAIuJzX8+EqRZBg/XxzgIZyGPW03vmdiH2RsJgDIwh6mzQU56rbqdOxlSsfUDtjbN9IeUk+/I4RzEAVoNiJRzdftQpraJ6/hPBjnW0E2Fs5Xc6giMD2HJ0oOs324UcKdUiOZCtSnwnabnejNRdQYd0m/LCoyXwtzJk4Er6ip9Ehk+ivYQora+B5ZRaIh1Cqobum9CTCVPB9DS5887W1+mMR2bUX16gDsP2nMpWfXaiWBulEYATcVCejxsZK9r2iUiJqjdN7z+zQkGNTn3lxU7Tk+sjVKZNwihgaM3Bw4UFBNCe4SdUwZ2cDGDT6dfWfzUOAFtX3X7O anVuRJhU 7hLFkxIVJJTuASZkoTDrR45hzAfgEsFf3wGd028htuUyVu7RjvNR4InpNObq3b2CO4jpdzD6zcwGMNbmu9GuSltYRrMlgH1rKA7tAhfM/SDiKgW9yCKjkQCfs1sxQgRhoor4p1U1ACLpqhGy6y9t6hiF+O5JxCzOfG8AjPdKFcoCcYJOv28ApaiTB1t/nyX9B2cmGTHxq2DQovxPibk/pxRDFWu/ZimWlH2Hl2mc8E9zFE3gK5BHvQHIAFepkJ0Q5z07lOBTaG/hJGmYyotHWqCQYE/q+oLq9H6GtWJ18WikuxaGzkFCf4EJ35wgKVv/WqbpbjuYJz41ntYNNDnMREDDDncZM6s3dE96R3MA60hTdx/YjMA5ERKQKSNLtLw9DWe+g X-Bogosity: Ham, tests=bogofilter, spamicity=0.049227, 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, With recent btrfs attempt to utilize larger folios (for its metadata), I am hitting a case like this: - Btrfs allocated an order 2 folio for metadata X - Btrfs tries to add the order 2 folio at filepos X Then filemap_add_folio() returns -EEXIST for filepos X. - Btrfs tries to grab the existing metadata Then filemap_lock_folio() returns -ENOENT for filepos X. The above case can have two causes: a) The folio at filepos X is released between add and lock This is pretty rare, but still possible b) Some folios exist at range [X+4K, X+16K) In my observation, this is way more common than case a). Case b) can be caused by the following situation: - There is an extent buffer at filepos X And it is consisted of 4 order 0 folios. - vmscan wants to free folio at filepos X It calls into the btrfs callback, btree_release_folio(). And btrfs did all the checks, release the metadata. Now all the 4 folios at file pos [X, X+16K) have their private flags cleared. - vmscan freed folio at filepos X However the remaining 3 folios X+4K, X+8K, X+12K are still attached to the filemap, and in theory we should free all 4 folios in one go. And later cause the conflicts with the larger folio we want to insert. I'm wondering if there is anyway to make sure we can release all involved folios in one go? I guess it will need a new callback, and return a list of folios to be released? Thanks, Qu