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 lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B367EC83F26 for ; Thu, 24 Jul 2025 13:09:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.sourceforge.net; s=beta; h=Content-Type:Content-Transfer-Encoding:Cc: Reply-To:From:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Subject:In-Reply-To:References:To:MIME-Version:Date: Message-ID:Sender:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=HXCd8EwPLhEt62hr62dtmuzEqU+1EeoNd4hgsP8QG3c=; b=AYt1NlkksMHnTYvRpJG1wodzfK ey04WNPShNfWj+oSKP5hjAoCduJ96KyKRlK0F2fwwmu1U/OTEBxUKUGzEl1TwSMvubWphEcxwBEru 2h6BYbXfD2jLuafdMeIXwQ1XaGqpNCVcf/YF92S18ME5bTfodfvD4k4lK7ybpQBAic0U=; Received: from [127.0.0.1] (helo=sfs-ml-3.v29.lw.sourceforge.com) by sfs-ml-3.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1uevhl-0003CV-A4; Thu, 24 Jul 2025 13:09:49 +0000 Received: from [172.30.29.66] (helo=mx.sourceforge.net) by sfs-ml-3.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1uevhk-0003CM-P1 for linux-f2fs-devel@lists.sourceforge.net; Thu, 24 Jul 2025 13:09:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: From:References:To:Subject:Cc:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=fwbXSCh29EoksK2fvBDxaXgZfb17flNady0ONhv5+1I=; b=nMJaFevIOXvnA+LXc6Jsd8yRaK SY+4d4sldhXCnrW2l1oJ/QnOXsTQu7uKVad72gnaSnOcSX+eIe6DQJ8NiKWp1zfGypwu8wBeWumI9 +Bg6MkuCnFCLWaw2mP61twAnEgyh6j1hnrUqD19bFwk+DmqvH/i5xA8cl5LDH79YJK3o=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:References:To: Subject:Cc:MIME-Version:Date:Message-ID:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=fwbXSCh29EoksK2fvBDxaXgZfb17flNady0ONhv5+1I=; b=m9pH0lsRH8ZBxYf/67oKEgdSo1 FDbySR+iB0zBxAOkDPG7JCYdA95W2E95B9fnPmfEf0TmXO9/WZHlSUjymDLwz5zNfKYHA7t30xnRz 3qAOlrniywEutqvMNZmIyu84Ivqgn0hMg2MMfhURyOEWYoC2I+jACHq+F7l76AXpVs5A=; Received: from dfw.source.kernel.org ([139.178.84.217]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1uevhk-0000fh-80 for linux-f2fs-devel@lists.sourceforge.net; Thu, 24 Jul 2025 13:09:48 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id D2D775C633A; Thu, 24 Jul 2025 13:09:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DDC60C4CEED; Thu, 24 Jul 2025 13:09:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1753362582; bh=IXt/noFSvrehS4Utza8A0lxjekW096nkpDvGqnkMVEE=; h=Date:Cc:Subject:To:References:From:In-Reply-To:From; b=UiDFtDhzzEtBEcXuZOzTeJ+Vu1R5i/Q8vHHpUulgV+ZFLFFAMefqEsGzap70+uHO+ W31aJlUmfIVwKVVfa6vbYng64I08molTv+IfGE/VRryj0rHE8yw3Z8cYtgpzLwsI+0 /a8/nh/iIUR6mFhu9s5Jw6afj6fKdcFbDPD70V5lrUA5XZwSZBCa6gZ83YRd8xUF6z lG9sxsH+QgUuEpGjtiNaQf4++JkwZbixfAfNToxwEtZd3Hjkg5wBhGoxatxErT9OzT wtNiVxm7WNKwMNxV9MdxcxejGgkovaKqeIl9cceV5Z7aZ0QTCxifxDnn/LbU+3Aqtm fr9MohyMw49eg== Message-ID: Date: Thu, 24 Jul 2025 21:09:48 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: hanqi , Jens Axboe , jaegeuk@kernel.org References: <20250715031054.14404-1-hanqi@vivo.com> <056e083b-8e41-45a2-9b0f-2ec47d1a9f71@kernel.dk> <51168786-6c30-4065-be82-6d07b2ae74a8@kernel.dk> <4366bf0f-64a1-44ae-8f81-301af2d179d8@vivo.com> Content-Language: en-US In-Reply-To: <4366bf0f-64a1-44ae-8f81-301af2d179d8@vivo.com> X-Headers-End: 1uevhk-0000fh-80 Subject: Re: [f2fs-dev] [PATCH] f2fs: f2fs supports uncached buffered I/O X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Chao Yu via Linux-f2fs-devel Reply-To: Chao Yu Cc: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net T24gMjAyNS83LzE2IDE2OjI3LCBoYW5xaSB3cm90ZToKPiAKPiAKPiDlnKggMjAyNS83LzE2IDEx OjQzLCBKZW5zIEF4Ym9lIOWGmemBkzoKPj4gT24gNy8xNS8yNSA5OjM0IFBNLCBoYW5xaSB3cm90 ZToKPj4+Cj4+PiA/IDIwMjUvNy8xNSAyMjoyOCwgSmVucyBBeGJvZSA/PzoKPj4+PiBPbiA3LzE0 LzI1IDk6MTAgUE0sIFFpIEhhbiB3cm90ZToKPj4+Pj4gSmVucyBoYXMgYWxyZWFkeSBjb21wbGV0 ZWQgdGhlIGRldmVsb3BtZW50IG9mIHVuY2FjaGVkIGJ1ZmZlcmVkIEkvTwo+Pj4+PiBpbiBnaXQg WzFdLCBhbmQgaW4gZjJmcywgdGhlIGZlYXR1cmUgY2FuIGJlIGVuYWJsZWQgc2ltcGx5IGJ5IHNl dHRpbmcKPj4+Pj4gdGhlIEZPUF9ET05UQ0FDSEUgZmxhZyBpbiBmMmZzX2ZpbGVfb3BlcmF0aW9u cy4KPj4+PiBZb3UgbmVlZCB0byBlbnN1cmUgdGhhdCBmb3IgYW55IERPTlRDQUNIRSBJTyB0aGF0 IHRoZSBjb21wbGV0aW9uIGlzCj4+Pj4gcm91dGVkIHZpYSBub24taXJxIGNvbnRleHQsIGlmIGFw cGxpY2FibGUuIEkgZGlkbid0IHZlcmlmeSB0aGF0IHRoaXMgaXMKPj4+PiB0aGUgY2FzZSBmb3Ig ZjJmcy4gR2VuZXJhbGx5IHlvdSBjYW4gZGVkdWNlIHRoaXMgYXMgd2VsbCB0aHJvdWdoCj4+Pj4g dGVzdGluZywgSSdkIHNheSB0aGUgZm9sbG93aW5nIGNhc2VzIHdvdWxkIGJlIGludGVyZXN0aW5n IHRvIHRlc3Q6Cj4+Pj4KPj4+PiAxKSBOb3JtYWwgRE9OVENBQ0hFIGJ1ZmZlcmVkIHJlYWQKPj4+ PiAyKSBPdmVyd3JpdGUgRE9OVENBQ0hFIGJ1ZmZlcmVkIHdyaXRlCj4+Pj4gMykgQXBwZW5kIERP TlRDQUNIRSBidWZmZXJlZCB3cml0ZQo+Pj4+Cj4+Pj4gVGVzdCB0aG9zZSB3aXRoIERFQlVHX0FU T01JQ19TTEVFUCBzZXQgaW4geW91ciBjb25maWcsIGFuZCBpdCB0aGF0Cj4+Pj4gZG9lc24ndCBj b21wbGFpbiwgdGhhdCdzIGEgZ3JlYXQgc3RhcnQuCj4+Pj4KPj4+PiBGb3IgdGhlIGFib3ZlIHRl c3QgY2FzZXMgYXMgd2VsbCwgdmVyaWZ5IHRoYXQgcGFnZSBjYWNoZSBkb2Vzbid0IGdyb3cgYXMK Pj4+PiBJTyBpcyBwZXJmb3JtZWQuIEEgYml0IGlzIGZpbmUgZm9yIHRoaW5ncyBsaWtlIG1ldGEg ZGF0YSwgYnV0IGdlbmVyYWxseQo+Pj4+IHlvdSB3YW50IHRvIHNlZSBpdCByZW1haW4gYmFzaWNh bGx5IGZsYXQgaW4gdGVybXMgb2YgcGFnZSBjYWNoZSB1c2FnZS4KPj4+Pgo+Pj4+IE1heWJlIHRo aXMgaXMgYWxsIGZpbmUsIGxpa2UgSSBzYWlkIEkgZGlkbid0IHZlcmlmeS4gSnVzdCBtZW50aW9u aW5nIGl0Cj4+Pj4gZm9yIGNvbXBsZXRlbmVzcyBzYWtlLgo+Pj4gSGksIEplbnMKPj4+IFRoYW5r cyBmb3IgeW91ciBzdWdnZXN0aW9uLiBBcyBJIG1lbnRpb25lZCBlYXJsaWVyIGluIFsxXSwgaW4g ZjJmcywKPj4+IHRoZSByZWd1bGFyIGJ1ZmZlcmVkIHdyaXRlIHBhdGggaW52b2tlcyBmb2xpb19l bmRfd3JpdGViYWNrIGZyb20gYQo+Pj4gc29mdGlycSBjb250ZXh0LiBUaGVyZWZvcmUsIGl0IHNl ZW1zIHRoYXQgZjJmcyBtYXkgbm90IGJlIHN1aXRhYmxlCj4+PiBmb3IgRE9OVENBQ0hFIEkvTyB3 cml0ZXMuCj4+Pgo+Pj4gST9kIGxpa2UgdG8gYXNrIGEgcXVlc3Rpb246IHdoeSBpcyBET05UQ0FD SEUgSS9PIHdyaXRlIHJlc3RyaWN0ZWQgdG8KPj4+IG5vbi1pbnRlcnJ1cHQgY29udGV4dCBvbmx5 PyBJcyBpdCBiZWNhdXNlIGRyb3BwaW5nIHRoZSBwYWdlIG1pZ2h0IGJlCj4+PiB0b28gdGltZS1j b25zdW1pbmcgdG8gYmUgZG9uZSBzYWZlbHkgaW4gaW50ZXJydXB0IGNvbnRleHQ/IFRoaXMgbWln aHQKPj4+IGJlIGEgbmFpdmUgcXVlc3Rpb24sIGJ1dCBJP2QgcmVhbGx5IGFwcHJlY2lhdGUgeW91 ciBjbGFyaWZpY2F0aW9uLgo+Pj4gVGhhbmtzIGluIGFkdmFuY2UuCj4+IEJlY2F1c2UgKGFzIG9m IHJpZ2h0IG5vdywgYXQgbGVhc3QpIHRoZSBjb2RlIGRvaW5nIHRoZSBpbnZhbGlkYXRpb24KPj4g bmVlZHMgcHJvY2VzcyBjb250ZXh0LiBUaGVyZSBhcmUgdmFyaW91cyByZWFzb25zIGZvciB0aGlz LCB3aGljaCB5b3UnbGwKPj4gc2VlIGlmIHlvdSBmb2xsb3cgdGhlIHBhdGggb2ZmIGZvbGlvX2Vu ZF93cml0ZWJhY2soKSAtPgo+PiBmaWxlbWFwX2VuZF9kcm9wYmVoaW5kX3dyaXRlKCkgLT4gZmls ZW1hcF9lbmRfZHJvcGJlaGluZCgpIC0+Cj4+IGZvbGlvX3VubWFwX2ludmFsaWRhdGUoKS4gdW5t YXBfbWFwcGluZ19mb2xpbygpIGlzIG9uZSBjYXNlLCBhbmQgd2hpbGUKPj4gdGhhdCBtYXkgYmUg ZG9hYmxlLCB0aGUgaW5vZGUgaV9sb2NrIGlzIG5vdCBJUlEgc2FmZS4KPj4KPj4gTW9zdCBmaWxl IHN5c3RlbXMgaGF2ZSBhIG5lZWQgdG8gcHVudCBzb21lIHdyaXRlYmFjayBjb21wbGV0aW9ucyB0 bwo+PiBub24taXJxIGNvbnRleHQsIGVnIGZvciBmaWxlIGV4dGVuZGluZyBldGMuIEhlbmNlIGZv ciBtb3N0IGZpbGUgc3lzdGVtcywKPj4gdGhlIGRvbnRjYWNoZSBjYXNlIGp1c3QgYmVjb21lcyBh bm90aGVyIGNhc2UgdGhhdCBuZWVkcyB0byBnbyB0aHJvdWdoCj4+IHRoYXQgcGF0aC4KPj4KPj4g SXQnZCBjZXJ0YWlubHkgYmUgcG9zc2libGUgdG8gaW1wcm92ZSB1cG9uIHRoaXMsIGZvciBleGFt cGxlIGJ5IGhhdmluZwo+PiBhbiBvcHBvcnR1bmlzdGljIGRvbnRjYWNoZSB1bm1hcCBmcm9tIElS US9zb2Z0LWlycSBjb250ZXh0LCBhbmQgdGhlbgo+PiBwdW50aW5nIHRvIGEgd29ya3F1ZXVlIGlm IHRoYXQgZG9lc24ndCBwYW4gb3V0LiBCdXQgdGhpcyBkb2Vzbid0IGV4aXN0Cj4+IGFzIG9mIHll dCwgaGVuY2UgdGhlIG5lZWQgZm9yIHRoZSB3b3JrcXVldWUgcHVudC4KClRoYW5rcyBKZW5zIGZv ciB0aGUgZGV0YWlsZWQgZXhwbGFuYXRpb24uCgo+IAo+IEhpLCBKZW5zCj4gVGhhbmsgeW91IGZv ciB5b3VyIHJlc3BvbnNlLiBJIHRlc3RlZCB1bmNhY2hlZCBidWZmZXIgSS9PIHJlYWRzIHdpdGgK PiBhIDUwR0IgZGF0YXNldCBvbiBhIGxvY2FsIEYyRlMgZmlsZXN5c3RlbSwgYW5kIHRoZSBwYWdl IGNhY2hlIHNpemUKPiBvbmx5IGluY3JlYXNlZCBzbGlnaHRseSwgd2hpY2ggSSBiZWxpZXZlIGFs aWducyB3aXRoIGV4cGVjdGF0aW9ucy4KPiBBZnRlciBjbGVhcmluZyB0aGUgcGFnZSBjYWNoZSwg dGhlIHBhZ2UgY2FjaGUgc2l6ZSByZXR1cm5lZCB0byBpdHMKPiBpbml0aWFsIHN0YXRlLiBUaGUg dGVzdCByZXN1bHRzIGFyZSBhcyBmb2xsb3dzOgo+IAo+IHN0YXQgNTBHLnR4dAo+ICAgwqAgRmls ZTogNTBHLnR4dAo+ICAgwqAgU2l6ZTogNTM2ODcwOTEyMDDCoMKgwqDCoMKgIEJsb2NrczogMTA0 OTYwNzEywqDCoMKgwqDCoMKgIElPIEJsb2NrczogNTEywqAgcmVndWxhciBmaWxlCj4gCj4gW3Jl YWQgYmVmb3JlXToKPiBlY2hvIDMgPiAvcHJvYy9zeXMvdm0vZHJvcF9jYWNoZXMKPiAwMTo0ODox N8KgwqDCoCAgICAga2JtZW1mcmVlwqBrYmF2YWlsICAgICBrYm1lbXVzZWTCoCAlbWVtdXNlZCAg ICAgIGtiYnVmZmVyc8Kga2JjYWNoZWTCoCAga2Jjb21taXTCoMKgICAgJWNvbW1pdMKgICBrYmFj dGl2ZcKgwqAgIGtiaW5hY3TCoMKgICAga2JkaXJ0eQo+IDAxOjUwOjU5wqDCoMKgwqDCoCA2NDA0 NjQ4wqDCoCA4MTQ5NTA4wqDCoCAyNzE5Mzg0wqDCoCAyMy40MMKgwqDCoMKgwqA1MTLCoMKgICAg MTg5ODA5MiAgIDE5OTM4NDc2MMKgwqDCoCA4MjMuNzXCoMKgIDE4NDY3NTbCoMKgwqAgNDY2ODMy wqDCoMKgwqDCoDQ0Cj4gCj4gLi91bmNhY2hlZF9pb190ZXN0IDgxOTIgMSAxIDUwRy50eHQKPiBT dGFydGluZyAxIHRocmVhZHMKPiByZWFkaW5nIGJzIDgxOTIsIHVuY2FjaGVkIDEKPiAgIMKgIDFz OiA3NTRNQi9zZWMsIE1CPTc1NAo+ICAgwqAgLi4uCj4gICDCoDY0czogODQ0TUIvc2VjLCBNQj0y NjIxNDQKPiAKPiBbcmVhZCBhZnRlcl06Cj4gMDE6NTI6MzPCoMKgwqDCoMKgIDYzMjY2NjTCoMKg IDgxMjEyNDDCoMKgIDI3NDc5NjjCoCAgIDIzLjY1wqDCoMKgwqAgIDcyOMKgwqAgICAxOTQ3NjU2 ICAgMTk5Mzg0Nzg4wqDCoMKgIDgyMy43NcKgwqAgMTg4Nzg5NsKgwqDCoCA1MDIwMDTCoMKgwqDC oMKgNjgKPiBlY2hvIDMgPiAvcHJvYy9zeXMvdm0vZHJvcF9jYWNoZXMKPiAwMTo1MzoxMcKgwqDC oMKgwqAgNjM1MTEzNsKgwqAgODA5NjkzNsKgwqAgMjc3MjQwMMKgwqAgMjMuODbCoMKgwqDCoMKg NTEywqDCoCAgIDE5MDA1MDAgICAxOTkzODUyMTbCoMKgwqAgODIzLjc1wqDCoCAxODQ3MjUywqDC oMKgIDUzMzc2OMKgwqDCoMKgICAxMDQKPiAKPiBIaSBDaGFvLAo+IEdpdmVuIHRoYXQgRjJGUyBj dXJyZW50bHkgY2FsbHMgZm9saW9fZW5kX3dyaXRlYmFjayBpbiB0aGUgc29mdGlycQo+IGNvbnRl eHQgZm9yIG5vcm1hbCB3cml0ZSBzY2VuYXJpb3MsIGNvdWxkIHdlIGZpcnN0IHN1cHBvcnQgdW5j YWNoZWQKPiBidWZmZXIgSS9PIHJlYWRzPyBGb3Igbm9ybWFsIHVuY2FjaGVkIGJ1ZmZlciBJL08g d3JpdGVzLCB3b3VsZCBpdCBiZQo+IGZlYXNpYmxlIGZvciBGMkZTIHRvIGludHJvZHVjZSBhbiBh c3luY2hyb25vdXMgd29ya3F1ZXVlIHRvIGhhbmRsZSB0aGUKPiBwYWdlIGRyb3Agb3BlcmF0aW9u IGluIHRoZSBmdXR1cmU/IFdoYXQgYXJlIHlvdXIgdGhvdWdodHMgb24gdGhpcz8KClFpLAoKU29y cnkgZm9yIHRoZSBkZWxheS4KCkkgdGhpbmsgaXQgd2lsbCBiZSBnb29kIHRvIHN1cHBvcnQgdW5j YWNoZWQgYnVmZmVyZWQgSS9PIGluIHJlYWQgcGF0aApmaXJzdCwgYW5kIHRoZW4gbGV0J3MgdGFr ZSBhIGxvb2sgd2hhdCB3ZSBjYW4gZG8gZm9yIHdyaXRlIHBhdGgsIGFueXdheSwKbGV0J3MgZG8g dGhpcyBzdGVwIGJ5IHN0ZXAuCgpDYW4geW91IHBsZWFzZSB1cGRhdGUgdGhlIHBhdGNoPwotIHN1 cHBvcnQgcmVhZCBwYXRoIG9ubHkKLSBpbmNsdWRlIHRlc3QgZGF0YSBpbiBjb21taXQgbWVzc2Fn ZQoKPiBUaGFuayB5b3UhCj4gCj4gCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkxpbnV4LWYyZnMtZGV2ZWwgbWFpbGluZyBsaXN0CkxpbnV4LWYyZnMt ZGV2ZWxAbGlzdHMuc291cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0 L2xpc3RzL2xpc3RpbmZvL2xpbnV4LWYyZnMtZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E1F5F2D4B7F for ; Thu, 24 Jul 2025 13:09:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753362583; cv=none; b=BvtLaoEfx4g89ywogLTw3HORFbbGXGQXfUpeClRcnJ5QwA7hF++bODR6QBzEAf9IJmGyilO8Bj/WknDROocSSz/hoooEHrYObYIBeyvcWWzosUfvdRsnihpCmENnL4zHShD+wodL8EBjd0v7+sha+JKsZYwUpTn44VsJbBoshks= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753362583; c=relaxed/simple; bh=IXt/noFSvrehS4Utza8A0lxjekW096nkpDvGqnkMVEE=; h=Message-ID:Date:MIME-Version:Cc:Subject:To:References:From: In-Reply-To:Content-Type; b=LaTSzcEbDZtpg+tSCalqMFmaHe0qw2GoBM3RB/HZ2408Du+ZrhWTt7Wt0eG6YaHzPV9EXnAxpCC+DhkC/vkYAjor1dLoYLJ+Xwz2JVUs+JdXKtIsy2UzFPbPmfeLOSJeym3agBJzfwafJOiykvh9gE5QgG7mIRAXXAdMoAvrbgg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UiDFtDhz; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UiDFtDhz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DDC60C4CEED; Thu, 24 Jul 2025 13:09:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1753362582; bh=IXt/noFSvrehS4Utza8A0lxjekW096nkpDvGqnkMVEE=; h=Date:Cc:Subject:To:References:From:In-Reply-To:From; b=UiDFtDhzzEtBEcXuZOzTeJ+Vu1R5i/Q8vHHpUulgV+ZFLFFAMefqEsGzap70+uHO+ W31aJlUmfIVwKVVfa6vbYng64I08molTv+IfGE/VRryj0rHE8yw3Z8cYtgpzLwsI+0 /a8/nh/iIUR6mFhu9s5Jw6afj6fKdcFbDPD70V5lrUA5XZwSZBCa6gZ83YRd8xUF6z lG9sxsH+QgUuEpGjtiNaQf4++JkwZbixfAfNToxwEtZd3Hjkg5wBhGoxatxErT9OzT wtNiVxm7WNKwMNxV9MdxcxejGgkovaKqeIl9cceV5Z7aZ0QTCxifxDnn/LbU+3Aqtm fr9MohyMw49eg== Message-ID: Date: Thu, 24 Jul 2025 21:09:48 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Cc: chao@kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: Re: [PATCH] f2fs: f2fs supports uncached buffered I/O To: hanqi , Jens Axboe , jaegeuk@kernel.org References: <20250715031054.14404-1-hanqi@vivo.com> <056e083b-8e41-45a2-9b0f-2ec47d1a9f71@kernel.dk> <51168786-6c30-4065-be82-6d07b2ae74a8@kernel.dk> <4366bf0f-64a1-44ae-8f81-301af2d179d8@vivo.com> Content-Language: en-US From: Chao Yu In-Reply-To: <4366bf0f-64a1-44ae-8f81-301af2d179d8@vivo.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 2025/7/16 16:27, hanqi wrote: > > > 在 2025/7/16 11:43, Jens Axboe 写道: >> On 7/15/25 9:34 PM, hanqi wrote: >>> >>> ? 2025/7/15 22:28, Jens Axboe ??: >>>> On 7/14/25 9:10 PM, Qi Han wrote: >>>>> Jens has already completed the development of uncached buffered I/O >>>>> in git [1], and in f2fs, the feature can be enabled simply by setting >>>>> the FOP_DONTCACHE flag in f2fs_file_operations. >>>> You need to ensure that for any DONTCACHE IO that the completion is >>>> routed via non-irq context, if applicable. I didn't verify that this is >>>> the case for f2fs. Generally you can deduce this as well through >>>> testing, I'd say the following cases would be interesting to test: >>>> >>>> 1) Normal DONTCACHE buffered read >>>> 2) Overwrite DONTCACHE buffered write >>>> 3) Append DONTCACHE buffered write >>>> >>>> Test those with DEBUG_ATOMIC_SLEEP set in your config, and it that >>>> doesn't complain, that's a great start. >>>> >>>> For the above test cases as well, verify that page cache doesn't grow as >>>> IO is performed. A bit is fine for things like meta data, but generally >>>> you want to see it remain basically flat in terms of page cache usage. >>>> >>>> Maybe this is all fine, like I said I didn't verify. Just mentioning it >>>> for completeness sake. >>> Hi, Jens >>> Thanks for your suggestion. As I mentioned earlier in [1], in f2fs, >>> the regular buffered write path invokes folio_end_writeback from a >>> softirq context. Therefore, it seems that f2fs may not be suitable >>> for DONTCACHE I/O writes. >>> >>> I?d like to ask a question: why is DONTCACHE I/O write restricted to >>> non-interrupt context only? Is it because dropping the page might be >>> too time-consuming to be done safely in interrupt context? This might >>> be a naive question, but I?d really appreciate your clarification. >>> Thanks in advance. >> Because (as of right now, at least) the code doing the invalidation >> needs process context. There are various reasons for this, which you'll >> see if you follow the path off folio_end_writeback() -> >> filemap_end_dropbehind_write() -> filemap_end_dropbehind() -> >> folio_unmap_invalidate(). unmap_mapping_folio() is one case, and while >> that may be doable, the inode i_lock is not IRQ safe. >> >> Most file systems have a need to punt some writeback completions to >> non-irq context, eg for file extending etc. Hence for most file systems, >> the dontcache case just becomes another case that needs to go through >> that path. >> >> It'd certainly be possible to improve upon this, for example by having >> an opportunistic dontcache unmap from IRQ/soft-irq context, and then >> punting to a workqueue if that doesn't pan out. But this doesn't exist >> as of yet, hence the need for the workqueue punt. Thanks Jens for the detailed explanation. > > Hi, Jens > Thank you for your response. I tested uncached buffer I/O reads with > a 50GB dataset on a local F2FS filesystem, and the page cache size > only increased slightly, which I believe aligns with expectations. > After clearing the page cache, the page cache size returned to its > initial state. The test results are as follows: > > stat 50G.txt >   File: 50G.txt >   Size: 53687091200      Blocks: 104960712       IO Blocks: 512  regular file > > [read before]: > echo 3 > /proc/sys/vm/drop_caches > 01:48:17    kbmemfree kbavail kbmemused  %memused kbbuffers kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty > 01:50:59      6404648   8149508   2719384   23.40     512   1898092 199384760    823.75   1846756    466832     44 > > ./uncached_io_test 8192 1 1 50G.txt > Starting 1 threads > reading bs 8192, uncached 1 >   1s: 754MB/sec, MB=754 >   ... >  64s: 844MB/sec, MB=262144 > > [read after]: > 01:52:33      6326664   8121240   2747968  23.65     728   1947656 199384788    823.75   1887896    502004     68 > echo 3 > /proc/sys/vm/drop_caches > 01:53:11      6351136   8096936   2772400   23.86     512   1900500 199385216    823.75   1847252    533768     104 > > Hi Chao, > Given that F2FS currently calls folio_end_writeback in the softirq > context for normal write scenarios, could we first support uncached > buffer I/O reads? For normal uncached buffer I/O writes, would it be > feasible for F2FS to introduce an asynchronous workqueue to handle the > page drop operation in the future? What are your thoughts on this? Qi, Sorry for the delay. I think it will be good to support uncached buffered I/O in read path first, and then let's take a look what we can do for write path, anyway, let's do this step by step. Can you please update the patch? - support read path only - include test data in commit message > Thank you! > >