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 6F210CAC5A5 for ; Wed, 24 Sep 2025 07:33:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.sourceforge.net; s=beta; h=Content-Transfer-Encoding:Content-Type:Cc: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: Subject:References:MIME-Version:Message-ID:Date:In-Reply-To:To:From:Sender: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=8X0ZUYp3LAzP5388I5a7nJLuugHNcnsmmHRHUY5qqSY=; b=XiewX6p7Ls8HUXf/ozaIjdNDzy imDbNN5+fU1RUvWXwe9jcrXNTsRuoyiIknorlWJ75WFX7tU8RN3H12QWtmC0OzBNBwrv5Ou2xWJdl sEKxum6fDaRC61jzaiHwnX6Y4wTwYXZkjaWpe7OW+3F9+CUgFxCMR3AhhkNdByzMtpyk=; 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 1v1K0L-0006m0-9h; Wed, 24 Sep 2025 07:33:33 +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 1v1K0J-0006lt-Jp for linux-f2fs-devel@lists.sourceforge.net; Wed, 24 Sep 2025 07:33:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=References:Content-Type:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:In-Reply-To:Cc:To:From: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=WlJ7wJPElM3wc18LxgXDPA1uOvBE4Y5qrSSvIuBgqPU=; b=Fn9iILIQQN12cS1/N0C40GTMZ1 OUhUTqTYRGjwd0O171SZiIxhbqg9J8bwGe0LP1B0nQy8HW255g4NX8/GpY3TcNrKo3JTZfg9KW2zZ A2H289vSuAhSRhLKmjGgvQREVFqpVJUjUB6CtqX7n7gHzxFeKX3st4PyZ+0OfNTJGEQE=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=References:Content-Type:Content-Transfer-Encoding:MIME-Version:Message-ID :Date:Subject:In-Reply-To:Cc:To:From: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=WlJ7wJPElM3wc18LxgXDPA1uOvBE4Y5qrSSvIuBgqPU=; b=AgtlfEsZuxnTWjEDagponF70AW 4fdHok5+yggR/thX/CIFRqhN7ovhHOOo1/k7/bOBSAELAlFAu/E2gKOdZ3BlasBn5B9efzQRfw+Oa 1cwekrQYuKlKDQSEpY3YiUm1uitEk5R0r9K55UweEJoNFiojb5fLDi9c/sQc5zdITxbI=; Received: from mailout4.samsung.com ([203.254.224.34]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1v1K0I-0003V7-CJ for linux-f2fs-devel@lists.sourceforge.net; Wed, 24 Sep 2025 07:33:31 +0000 Received: from epcas1p1.samsung.com (unknown [182.195.41.45]) by mailout4.samsung.com (KnoxPortal) with ESMTP id 20250924073318epoutp04197676f4f54f509dad883611f78d0963~oJ5pcPrwL2752527525epoutp04c for ; Wed, 24 Sep 2025 07:33:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout4.samsung.com 20250924073318epoutp04197676f4f54f509dad883611f78d0963~oJ5pcPrwL2752527525epoutp04c DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1758699198; bh=WlJ7wJPElM3wc18LxgXDPA1uOvBE4Y5qrSSvIuBgqPU=; h=From:To:Cc:In-Reply-To:Subject:Date:References:From; b=O+hNl3GXGik+2GkOhMQS9huZXifhJb/TA8ASBDKuuvWUP1fNi/oSWLFtGt/M8vcQV 3VvUObN27DlhhZbbuZvrkXkN3wH5b6Qqji+CdK0orIXa+58SJUQ6oNlb4V/MTkg669 K42uoCx0S45f095KSum7/1HCa6YOqL0CQ3zYdzSE= Received: from epsnrtp04.localdomain (unknown [182.195.42.156]) by epcas1p4.samsung.com (KnoxPortal) with ESMTPS id 20250924073318epcas1p443b94281544243d7563664de3dc1ebe8~oJ5pHHPiN2870828708epcas1p49; Wed, 24 Sep 2025 07:33:18 +0000 (GMT) Received: from epcas1p3.samsung.com (unknown [182.195.38.240]) by epsnrtp04.localdomain (Postfix) with ESMTP id 4cWpVP4p1Lz6B9mc; Wed, 24 Sep 2025 07:33:17 +0000 (GMT) Received: from epsmtip1.samsung.com (unknown [182.195.34.30]) by epcas1p4.samsung.com (KnoxPortal) with ESMTPA id 20250924073316epcas1p49fe9274ac2e9a2b576a57e2a373e491e~oJ5ntW95j2870828708epcas1p46; Wed, 24 Sep 2025 07:33:16 +0000 (GMT) Received: from yunji0kang01 (unknown [10.253.100.171]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20250924073316epsmtip1681e0b7812bd94b1fda707cfb0067197~oJ5nqK5D12247522475epsmtip1o; Wed, 24 Sep 2025 07:33:16 +0000 (GMT) From: "Yunji Kang" To: "'Chao Yu'" , In-Reply-To: <84d65c75-7ab7-4c0c-9085-9423effb8632@kernel.org> Date: Wed, 24 Sep 2025 16:33:16 +0900 Message-ID: <055101dc2d25$7e068a70$7a139f50$@samsung.com> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQLJ+3fmt+QCibYu+QNx3C6/vuLkWQHN7bNGAg+MCJQBrmMzkgIJQwVOsommwKA= Content-Language: ko X-CMS-MailID: 20250924073316epcas1p49fe9274ac2e9a2b576a57e2a373e491e X-Msg-Generator: CA CMS-TYPE: 101P cpgsPolicy: CPGSC10-711,Y X-CFilter-Loop: Reflected X-CMS-RootMailID: 20250918082037epcas1p1eb201d3b6d5780c0bff3ba32740ccdcf References: <20250918082023.57381-1-yunji0.kang@samsung.com> <89f237cd-3f86-405a-8f8f-d9cad250ef00@kernel.org> <00d401dc2d0a$18100c20$48302460$@samsung.com> <84d65c75-7ab7-4c0c-9085-9423effb8632@kernel.org> X-Headers-End: 1v1K0I-0003V7-CJ Subject: Re: [f2fs-dev] [PATCH v2] f2fs: readahead node blocks in F2FS_GET_BLOCK_PRECACHE mode 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: , Cc: 'Sungjong Seo' , linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net PiBPbiA5LzI0LzI1IDEyOjE3LCBZdW5qaSBLYW5nIHdyb3RlOgo+ID4+PiBJbiBmMmZzX3ByZWNh Y2hlX2V4dGVudHMoKSwgRm9yIGxhcmdlIGZpbGVzLCBJdCByZXF1aXJlcyByZWFkaW5nCj4gPj4+ IG1hbnkgbm9kZSBibG9ja3MuIEluc3RlYWQgb2YgcmVhZGluZyBlYWNoIG5vZGUgYmxvY2sgd2l0 aAo+ID4+PiBzeW5jaHJvbm91cyBJL08sIHRoaXMgcGF0Y2ggYXBwbGllcyByZWFkYWhlYWQgc28g dGhhdCBub2RlIGJsb2Nrcwo+ID4+PiBjYW4gYmUgZmV0Y2hlZCBpbiBhZHZhbmNlLgo+ID4+Pgo+ ID4+PiBJdCByZWR1Y2VzIHRoZSBvdmVyaGVhZCBvZiByZXBlYXRlZCBzeW5jIHJlYWRzIGFuZCBp bXByb3Zlcwo+ID4+PiBlZmZpY2llbmN5IHdoZW4gcHJlY2FjaGluZyBleHRlbnRzIG9mIGxhcmdl IGZpbGVzLgo+ID4+Pgo+ID4+PiBJIGNyZWF0ZWQgYSBmaWxlIHdpdGggdGhlIHNhbWUgbGFyZ2Vz dCBleHRlbnQgYW5kIGV4ZWN1dGVkIHRoZSB0ZXN0Lgo+ID4+PiBGb3IgdGhpcyBleHBlcmltZW50 LCBJIHNldCB0aGUgZmlsZSdzIGxhcmdlc3QgZXh0ZW50IHdpdGggYW4gb2Zmc2V0Cj4gPj4+IG9m Cj4gPj4+IDAgYW5kIGEgc2l6ZSBvZiAxR0IuIEkgY29uZmlndXJlZCB0aGUgcmVtYWluaW5nIGFy ZWEgd2l0aCAxMDBNQgo+IGV4dGVudHMuCj4gPj4+Cj4gPj4+IDVHQiB0ZXN0IGZpbGU6Cj4gPj4+ IGRkIGlmPS9kZXYvdXJhbmRvbSBvZj10ZXN0MSBicz0xbSBjb3VudD01MTIwIGNwIHRlc3QxIHRl c3QyIGZzeW5jCj4gPj4+IHRlc3QxIGRkIGlmPXRlc3QxIG9mPXRlc3QyIGJzPTFtIHNraXA9MTAy NCBzZWVrPTEwMjQgY291bnQ9MTAwCj4gPj4+IGNvbnY9bm90cnVuYyBkZCBpZj10ZXN0MSBvZj10 ZXN0MiBicz0xbSBza2lwPTEyMjQgc2Vlaz0xMjI0Cj4gPj4+IGNvdW50PTEwMCBjb252PW5vdHJ1 bmMgLi4uCj4gPj4+IGRkIGlmPXRlc3QxIG9mPXRlc3QyIGJzPTFtIHNraXA9NTAyNCBzZWVrPTUw MjQgY291bnQ9MTAwCj4gPj4+IGNvbnY9bm90cnVuYyByZWJvb3QKPiA+Pj4KPiA+Pj4gSSBhbHNv IGNyZWF0ZWQgMTBHQiBhbmQgMjBHQiBmaWxlcyB3aXRoIGxhcmdlIGV4dGVudHMgdXNpbmcgdGhl IHNhbWUKPiA+Pj4gbWV0aG9kLgo+ID4+Pgo+ID4+PiBpb2N0bChGMkZTX0lPQ19QUkVDQUNIRV9F WFRFTlRTKSB0ZXN0IHJlc3VsdHMgYXJlIGFzIGZvbGxvd3M6Cj4gPj4+ICAgKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rCj4gPj4+ICAgfCBGaWxlIHNpemUgfCBC ZWZvcmUgIHwgQWZ0ZXIgICB8IFJlZHVjdGlvbiB8Cj4gPj4+ICAgKy0tLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rCj4gPj4+ICAgfCA1R0IgICAgICAgfCAxMDEuOG1z IHwgNzIuMW1zICB8IDI5LjIlICAgICB8Cj4gPj4+ICAgfCAxMEdCICAgICAgfCAyMjIuOW1zIHwg MTQ5LjVtcyB8IDMyLjklICAgICB8Cj4gPj4+ICAgfCAyMEdCICAgICAgfCA0NDYuMm1zIHwgMjc2 LjNtcyB8IDM4LjElICAgICB8Cj4gPj4+ICAgKy0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tLS0rCj4gPj4KPiA+PiBZdW5qaSwKPiA+Pgo+ID4+IFdpbGwgd2UgZ2FpbiBi ZXR0ZXIgcGVyZm9ybWFuY2UgaWYgd2UgcmVhZGFoZWFkIG1vcmUgbm9kZSBwYWdlcyB3Lwo+ID4+ IHN5Y2hyb25vdXMgcmVxdWVzdCBmb3IgcHJlY2FjaGUgZXh0ZW50IGNhc2U/IEhhdmUgeW91IHRy aWVkIHRoYXQ/Cj4gPj4KPiA+PiBUaGFua3MsCj4gPj4KPiA+Cj4gPiBEb2VzIOKAnHJlYWRhaGVh ZCBtb3JlIG5vZGUgcGFnZXPigJ0gbWVhbiByZW1vdmluZyB0aGlzIGNvbmRpdGlvbj8NCj4gPiAi IG9mZnNldFtpIC0gMV0gJSBNQVhfUkFfTk9ERSA9PSAwICINCj4gDQo+IEFjdHVhbGx5LCBJIG1l YW50IGEpIHJlbW92ZSAib2Zmc2V0W2kgLSAxXSAlIE1BWF9SQV9OT0RFID09IDAiIG9yIGIpDQo+ IGluY3JlYXNlIE1BWF9SQV9OT0RFLg0KPiANCj4gQWxzbywgbWF5YmUgd2UgY2FuIHRyeSBhcyBi ZWxvdyB0byB0cmlnZ2VyIHN5bmNocm9ub3VzIElPIGZvciBzdWNoIGhpZ2gNCj4gZGV0ZXJtaW5h Y3kgcmVhZC4NCj4gDQo+IHZvaWQgZGYyZnNfcmFfbm9kZV9wYWdlKCkNCj4gew0KPiAuLi4NCj4g CWVyciA9IHJlYWRfbm9kZV9mb2xpbyhhZm9saW8sIDApOw0KPiAuLi4NCj4gfQ0KPiANCg0KSeKA mW0gbm90IHN1cmUgaWYgSSBmdWxseSB1bmRlcnN0b29kLCBidXQgZG9lcyB0aGlzIG1lYW4gdGhh dCBpbiB0aGUgY2FzZSBvZiBwcmVjYWNoZSwgdGhlIHJlYWRhaGVhZCBub2RlcyBhcmUgaGFuZGxl ZCB3aXRoIHN5bmMgcmVhZHM/DQpXaXRoIHRoZSBjdXJyZW50IGNvZGUsIGl0IHNlZW1zIGRpZmZp Y3VsdCB0byBpbXBsZW1lbnQgdGhpcy4NCg0KPiA+DQo+ID4gSSBvcmlnaW5hbGx5IGFkZGVkIHRo ZSBjb25kaXRpb24gdG8gcHJldmVudCB1bm5lY2Vzc2FyeSByZWFkYWhlYWQNCj4gPiByZXF1ZXN0 cywgYnV0IGl0IHNlZW1zIHRoaXMgY29uZGl0aW9uIHdhcyBhY3R1YWxseSBibG9ja2luZyB2YWxp ZA0KPiByZWFkYWhlYWQgYXMgd2VsbC4NCj4gPg0KPiA+IEFmdGVyIHJlbW92aW5nIHRoZSBjb25k aXRpb24gYW5kIHJ1bm5pbmcgdGVzdHMsIEkgY29uZmlybWVkIHRoYXQgbW9yZQ0KPiA+IHJlYWRh aGVhZCBub2RlIHBhZ2VzIGFyZSBiZWluZyBpc3N1ZWQuDQo+ID4NCj4gPiBJ4oCZbGwgc2hhcmUg dGhlIHRlc3QgcmVzdWx0cyBhbG9uZyB3aXRoIHRoZSBpbXByb3ZlZCBwYXRjaC4NCj4gDQo+IEl0 IG1ha2VzIHNlbnNlLCB0aGFua3MgZm9yIGNoZWNraW5nIHRoaXMgYW5kIHNoYXJpbmcgdGhlIHJl c3VsdC4NCj4gDQo+IFRoYW5rcywNCj4gDQoNCkkgdGVzdGVkIHdpdGggdGhlIHJldmlzZWQgdjMg Y29kZSBhbmQgY29uZmlybWVkIHRoYXQgbW9zdCBub2RlIHBhZ2VzIGFyZSBub3cgaGFuZGxlZCBi eSByZWFkYWhlYWQuIA0KKEluIHRoZSB2MiB2ZXJzaW9uLCBvbmx5IGFib3V0IGhhbGYgb2Ygbm9k ZXMgd2VyZSBwcm9jZXNzZWQgd2l0aCByZWFkYWhlYWQuKQ0KDQpUaGFuayB5b3UgZm9yIHlvdXIg cmV2aWV3Lg0KDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4NCj4gPj4+IFRlc3RlZCBvbiBhIDI1NkdC IG1vYmlsZSBkZXZpY2Ugd2l0aCBhbiBTTTg3NTAgY2hpcHNldC4NCj4gPj4+DQo+ID4+PiBSZXZp ZXdlZC1ieTogU3VuZ2pvbmcgU2VvIDxzajE1NTcuc2VvQHNhbXN1bmcuY29tPg0KPiA+Pj4gUmV2 aWV3ZWQtYnk6IFN1bm1pbiBKZW9uZyA8c19taW4uamVvbmdAc2Ftc3VuZy5jb20+DQo+ID4+PiBT aWduZWQtb2ZmLWJ5OiBZdW5qaSBLYW5nIDx5dW5qaTAua2FuZ0BzYW1zdW5nLmNvbT4NCj4gPj4+ IC0tLQ0KPiA+Pj4gdjI6DQo+ID4+PiAgLSBNb2RpZnkgdGhlIHJlYWRhaGVhZCBjb25kaXRpb24g Y2hlY2sgcm91dGluZSBmb3IgYmV0dGVyIGNvZGUNCj4gPj4+IHJlYWRhYmlsaXR5Lg0KPiA+Pj4g IC0gVXBkYXRlIHRoZSB0aXRsZSBmcm9tICdub2RlIGJsb2NrJyB0byAnbm9kZSBibG9ja3MnLg0K PiA+Pj4NCj4gPj4+ICBmcy9mMmZzL2RhdGEuYyB8IDMgKysrDQo+ID4+PiAgZnMvZjJmcy9mMmZz LmggfCAxICsNCj4gPj4+ICBmcy9mMmZzL25vZGUuYyB8IDUgKysrKy0NCj4gPj4+ICAzIGZpbGVz IGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiA+Pj4NCj4gPj4+IGRp ZmYgLS1naXQgYS9mcy9mMmZzL2RhdGEuYyBiL2ZzL2YyZnMvZGF0YS5jIGluZGV4DQo+ID4+PiA3 OTYxZTBkZGZjYTMuLmFiMzExN2UzYjI0YSAxMDA2NDQNCj4gPj4+IC0tLSBhL2ZzL2YyZnMvZGF0 YS5jDQo+ID4+PiArKysgYi9mcy9mMmZzL2RhdGEuYw0KPiA+Pj4gQEAgLTE1NzIsNiArMTU3Miw5 IEBAIGludCBmMmZzX21hcF9ibG9ja3Moc3RydWN0IGlub2RlICppbm9kZSwNCj4gPj4+IHN0cnVj dA0KPiA+PiBmMmZzX21hcF9ibG9ja3MgKm1hcCwgaW50IGZsYWcpDQo+ID4+PiAgCXBnb2ZzID0J KHBnb2ZmX3QpbWFwLT5tX2xibGs7DQo+ID4+PiAgCWVuZCA9IHBnb2ZzICsgbWF4YmxvY2tzOw0K PiA+Pj4NCj4gPj4+ICsJaWYgKGZsYWcgPT0gRjJGU19HRVRfQkxPQ0tfUFJFQ0FDSEUpDQo+ID4+ PiArCQltb2RlID0gTE9PS1VQX05PREVfUFJFQ0FDSEU7DQo+ID4+PiArDQo+ID4+PiAgbmV4dF9k bm9kZToNCj4gPj4+ICAJaWYgKG1hcC0+bV9tYXlfY3JlYXRlKSB7DQo+ID4+PiAgCQlpZiAoZjJm c19sZnNfbW9kZShzYmkpKQ0KPiA+Pj4gZGlmZiAtLWdpdCBhL2ZzL2YyZnMvZjJmcy5oIGIvZnMv ZjJmcy9mMmZzLmggaW5kZXgNCj4gPj4+IDlkM2JjOTYzM2MxZC4uM2NlNDE1MjhkNDhlIDEwMDY0 NA0KPiA+Pj4gLS0tIGEvZnMvZjJmcy9mMmZzLmgNCj4gPj4+ICsrKyBiL2ZzL2YyZnMvZjJmcy5o DQo+ID4+PiBAQCAtNjUxLDYgKzY1MSw3IEBAIGVudW0gew0KPiA+Pj4gIAkJCQkJICogbG9vayB1 cCBhIG5vZGUgd2l0aCByZWFkYWhlYWQgY2FsbGVkDQo+ID4+PiAgCQkJCQkgKiBieSBnZXRfZGF0 YV9ibG9jay4NCj4gPj4+ICAJCQkJCSAqLw0KPiA+Pj4gKwlMT09LVVBfTk9ERV9QUkVDQUNIRSwJ CS8qIGxvb2sgdXAgYSBub2RlIGZvcg0KPiA+PiBGMkZTX0dFVF9CTE9DS19QUkVDQUNIRSAqLw0K PiA+Pj4gIH07DQo+ID4+Pg0KPiA+Pj4gICNkZWZpbmUgREVGQVVMVF9SRVRSWV9JT19DT1VOVAk4 CS8qIG1heGltdW0gcmV0cnkgcmVhZCBJTyBvcg0KPiBmbHVzaA0KPiA+PiBjb3VudCAqLw0KPiA+ Pj4gZGlmZiAtLWdpdCBhL2ZzL2YyZnMvbm9kZS5jIGIvZnMvZjJmcy9ub2RlLmMgaW5kZXgNCj4g Pj4+IDQyNTRkYjQ1M2IyZC4uZDRiZjNjZTcxNWM1IDEwMDY0NA0KPiA+Pj4gLS0tIGEvZnMvZjJm cy9ub2RlLmMNCj4gPj4+ICsrKyBiL2ZzL2YyZnMvbm9kZS5jDQo+ID4+PiBAQCAtODYwLDcgKzg2 MCwxMCBAQCBpbnQgZjJmc19nZXRfZG5vZGVfb2ZfZGF0YShzdHJ1Y3QgZG5vZGVfb2ZfZGF0YQ0K PiA+Pj4gKmRuLA0KPiA+PiBwZ29mZl90IGluZGV4LCBpbnQgbW9kZSkNCj4gPj4+ICAJCQlzZXRf bmlkKHBhcmVudCwgb2Zmc2V0W2kgLSAxXSwgbmlkc1tpXSwgaSA9PSAxKTsNCj4gPj4+ICAJCQlm MmZzX2FsbG9jX25pZF9kb25lKHNiaSwgbmlkc1tpXSk7DQo+ID4+PiAgCQkJZG9uZSA9IHRydWU7 DQo+ID4+PiAtCQl9IGVsc2UgaWYgKG1vZGUgPT0gTE9PS1VQX05PREVfUkEgJiYgaSA9PSBsZXZl bCAmJiBsZXZlbCA+IDEpDQo+ID4+IHsNCj4gPj4+ICsJCX0gZWxzZSBpZiAoKGkgPT0gbGV2ZWwg JiYgbGV2ZWwgPiAxKSAmJg0KPiA+Pj4gKwkJCQkobW9kZSA9PSBMT09LVVBfTk9ERV9SQSB8fA0K PiA+Pj4gKwkJCQkobW9kZSA9PSBMT09LVVBfTk9ERV9QUkVDQUNIRSAmJg0KPiA+Pj4gKwkJCQlv ZmZzZXRbaSAtIDFdICUgTUFYX1JBX05PREUgPT0gMCkpKSB7DQo+ID4+PiAgCQkJbmZvbGlvW2ld ID0gZjJmc19nZXRfbm9kZV9mb2xpb19yYShwYXJlbnQsIG9mZnNldFtpIC0NCj4gPj4gMV0pOw0K PiA+Pj4gIAkJCWlmIChJU19FUlIobmZvbGlvW2ldKSkgew0KPiA+Pj4gIAkJCQllcnIgPSBQVFJf RVJSKG5mb2xpb1tpXSk7DQo+ID4NCj4gPg0KPiA+DQoNCg0KCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtZjJmcy1kZXZlbCBtYWlsaW5nIGxp c3QKTGludXgtZjJmcy1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5z b3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vbGludXgtZjJmcy1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) (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 A147227B33B for ; Wed, 24 Sep 2025 07:33:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=203.254.224.24 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758699203; cv=none; b=oBioNWS4A17YJ2YFx9pcxKnqbauSVsdcSpTDfyJEc9Nj/TIdugHXLcqYhmzvqy8JNwnus0KLVOdnUo8566En4Qe61HVLk0sZdTxRRXmIcdEp2kpn7sOMS9oWuY479pUImhgj9BX1T1kDLeREaACozKfbzQee+QX4KCv45FCM8HQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758699203; c=relaxed/simple; bh=oVWPhZMUOG/vSjp9gEV8cZEnbWTdab9AybPC3XGfFC4=; h=From:To:Cc:In-Reply-To:Subject:Date:Message-ID:MIME-Version: Content-Type:References; b=s7xAUV1/6ZLkTppTrLyVEh9zrpjO5ZR8XQRD8S+ISJWTt5sLQ72NtnS1CK9EpeX5ZEpCZkiRpalXO1TEwWA8qOtR2jnRt+zpyjOcEVWzkwJuhiv1b7uqOojPMQfe4W9gtu7ojw3dvxmHZWLAa+Ps8eVLQ5jIzTGjvDe3am3DGis= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com; spf=pass smtp.mailfrom=samsung.com; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b=O+hNl3GX; arc=none smtp.client-ip=203.254.224.24 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=samsung.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="O+hNl3GX" Received: from epcas1p1.samsung.com (unknown [182.195.41.45]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20250924073318epoutp01fcb5901d1d26be1e230e5d1916c7a284~oJ5pcATPS0332103321epoutp01D for ; Wed, 24 Sep 2025 07:33:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20250924073318epoutp01fcb5901d1d26be1e230e5d1916c7a284~oJ5pcATPS0332103321epoutp01D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1758699198; bh=WlJ7wJPElM3wc18LxgXDPA1uOvBE4Y5qrSSvIuBgqPU=; h=From:To:Cc:In-Reply-To:Subject:Date:References:From; b=O+hNl3GXGik+2GkOhMQS9huZXifhJb/TA8ASBDKuuvWUP1fNi/oSWLFtGt/M8vcQV 3VvUObN27DlhhZbbuZvrkXkN3wH5b6Qqji+CdK0orIXa+58SJUQ6oNlb4V/MTkg669 K42uoCx0S45f095KSum7/1HCa6YOqL0CQ3zYdzSE= Received: from epsnrtp04.localdomain (unknown [182.195.42.156]) by epcas1p4.samsung.com (KnoxPortal) with ESMTPS id 20250924073318epcas1p443b94281544243d7563664de3dc1ebe8~oJ5pHHPiN2870828708epcas1p49; Wed, 24 Sep 2025 07:33:18 +0000 (GMT) Received: from epcas1p3.samsung.com (unknown [182.195.38.240]) by epsnrtp04.localdomain (Postfix) with ESMTP id 4cWpVP4p1Lz6B9mc; Wed, 24 Sep 2025 07:33:17 +0000 (GMT) Received: from epsmtip1.samsung.com (unknown [182.195.34.30]) by epcas1p4.samsung.com (KnoxPortal) with ESMTPA id 20250924073316epcas1p49fe9274ac2e9a2b576a57e2a373e491e~oJ5ntW95j2870828708epcas1p46; Wed, 24 Sep 2025 07:33:16 +0000 (GMT) Received: from yunji0kang01 (unknown [10.253.100.171]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20250924073316epsmtip1681e0b7812bd94b1fda707cfb0067197~oJ5nqK5D12247522475epsmtip1o; Wed, 24 Sep 2025 07:33:16 +0000 (GMT) From: "Yunji Kang" To: "'Chao Yu'" , Cc: , , "'Sungjong Seo'" , "'Sunmin Jeong'" In-Reply-To: <84d65c75-7ab7-4c0c-9085-9423effb8632@kernel.org> Subject: RE: [PATCH v2] f2fs: readahead node blocks in F2FS_GET_BLOCK_PRECACHE mode Date: Wed, 24 Sep 2025 16:33:16 +0900 Message-ID: <055101dc2d25$7e068a70$7a139f50$@samsung.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQLJ+3fmt+QCibYu+QNx3C6/vuLkWQHN7bNGAg+MCJQBrmMzkgIJQwVOsommwKA= Content-Language: ko X-CMS-MailID: 20250924073316epcas1p49fe9274ac2e9a2b576a57e2a373e491e X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" CMS-TYPE: 101P cpgsPolicy: CPGSC10-711,Y X-CFilter-Loop: Reflected X-CMS-RootMailID: 20250918082037epcas1p1eb201d3b6d5780c0bff3ba32740ccdcf References: <20250918082023.57381-1-yunji0.kang@samsung.com> <89f237cd-3f86-405a-8f8f-d9cad250ef00@kernel.org> <00d401dc2d0a$18100c20$48302460$@samsung.com> <84d65c75-7ab7-4c0c-9085-9423effb8632@kernel.org> > On 9/24/25 12:17, Yunji Kang wrote: > >>> In f2fs_precache_extents(), For large files, It requires reading > >>> many node blocks. Instead of reading each node block with > >>> synchronous I/O, this patch applies readahead so that node blocks > >>> can be fetched in advance. > >>> > >>> It reduces the overhead of repeated sync reads and improves > >>> efficiency when precaching extents of large files. > >>> > >>> I created a file with the same largest extent and executed the test. > >>> For this experiment, I set the file's largest extent with an offset > >>> of > >>> 0 and a size of 1GB. I configured the remaining area with 100MB > extents. > >>> > >>> 5GB test file: > >>> dd if=3D/dev/urandom of=3Dtest1 bs=3D1m count=3D5120 cp test1 test2 f= sync > >>> test1 dd if=3Dtest1 of=3Dtest2 bs=3D1m skip=3D1024 seek=3D1024 count= =3D100 > >>> conv=3Dnotrunc dd if=3Dtest1 of=3Dtest2 bs=3D1m skip=3D1224 seek=3D12= 24 > >>> count=3D100 conv=3Dnotrunc ... > >>> dd if=3Dtest1 of=3Dtest2 bs=3D1m skip=3D5024 seek=3D5024 count=3D100 > >>> conv=3Dnotrunc reboot > >>> > >>> I also created 10GB and 20GB files with large extents using the same > >>> method. > >>> > >>> ioctl(F2FS_IOC_PRECACHE_EXTENTS) test results are as follows: > >>> +-----------+---------+---------+-----------+ > >>> =7C File size =7C Before =7C After =7C Reduction =7C > >>> +-----------+---------+---------+-----------+ > >>> =7C 5GB =7C 101.8ms =7C 72.1ms =7C 29.2% =7C > >>> =7C 10GB =7C 222.9ms =7C 149.5ms =7C 32.9% =7C > >>> =7C 20GB =7C 446.2ms =7C 276.3ms =7C 38.1% =7C > >>> +-----------+---------+---------+-----------+ > >> > >> Yunji, > >> > >> Will we gain better performance if we readahead more node pages w/ > >> sychronous request for precache extent case? Have you tried that? > >> > >> Thanks, > >> > > > > Does =E2=80=9Creadahead=20more=20node=20pages=E2=80=9D=20mean=20removin= g=20this=20condition?=0D=0A>=20>=20=22=20offset=5Bi=20-=201=5D=20%=20MAX_RA= _NODE=20=3D=3D=200=20=22=0D=0A>=20=0D=0A>=20Actually,=20I=20meant=20a)=20re= move=20=22offset=5Bi=20-=201=5D=20%=20MAX_RA_NODE=20=3D=3D=200=22=20or=20b)= =0D=0A>=20increase=20MAX_RA_NODE.=0D=0A>=20=0D=0A>=20Also,=20maybe=20we=20c= an=20try=20as=20below=20to=20trigger=20synchronous=20IO=20for=20such=20high= =0D=0A>=20determinacy=20read.=0D=0A>=20=0D=0A>=20void=20df2fs_ra_node_page(= )=0D=0A>=20=7B=0D=0A>=20...=0D=0A>=20=09err=20=3D=20read_node_folio(afolio,= =200);=0D=0A>=20...=0D=0A>=20=7D=0D=0A>=20=0D=0A=0D=0AI=E2=80=99m=20not=20s= ure=20if=20I=20fully=20understood,=20but=20does=20this=20mean=20that=20in= =20the=20case=20of=20precache,=20the=20readahead=20nodes=20are=20handled=20= with=20sync=20reads?=0D=0AWith=20the=20current=20code,=20it=20seems=20diffi= cult=20to=20implement=20this.=0D=0A=0D=0A>=20>=0D=0A>=20>=20I=20originally= =20added=20the=20condition=20to=20prevent=20unnecessary=20readahead=0D=0A>= =20>=20requests,=20but=20it=20seems=20this=20condition=20was=20actually=20b= locking=20valid=0D=0A>=20readahead=20as=20well.=0D=0A>=20>=0D=0A>=20>=20Aft= er=20removing=20the=20condition=20and=20running=20tests,=20I=20confirmed=20= that=20more=0D=0A>=20>=20readahead=20node=20pages=20are=20being=20issued.= =0D=0A>=20>=0D=0A>=20>=20I=E2=80=99ll=20share=20the=20test=20results=20alon= g=20with=20the=20improved=20patch.=0D=0A>=20=0D=0A>=20It=20makes=20sense,= =20thanks=20for=20checking=20this=20and=20sharing=20the=20result.=0D=0A>=20= =0D=0A>=20Thanks,=0D=0A>=20=0D=0A=0D=0AI=20tested=20with=20the=20revised=20= v3=20code=20and=20confirmed=20that=20most=20node=20pages=20are=20now=20hand= led=20by=20readahead.=20=0D=0A(In=20the=20v2=20version,=20only=20about=20ha= lf=20of=20nodes=20were=20processed=20with=20readahead.)=0D=0A=0D=0AThank=20= you=20for=20your=20review.=0D=0A=0D=0A>=20>=0D=0A>=20>=20Thanks,=0D=0A>=20>= =0D=0A>=20>>>=20Tested=20on=20a=20256GB=20mobile=20device=20with=20an=20SM8= 750=20chipset.=0D=0A>=20>>>=0D=0A>=20>>>=20Reviewed-by:=20Sungjong=20Seo=20= =0D=0A>=20>>>=20Reviewed-by:=20Sunmin=20Jeong=20<= s_min.jeong=40samsung.com>=0D=0A>=20>>>=20Signed-off-by:=20Yunji=20Kang=20<= yunji0.kang=40samsung.com>=0D=0A>=20>>>=20---=0D=0A>=20>>>=20v2:=0D=0A>=20>= >>=20=20-=20Modify=20the=20readahead=20condition=20check=20routine=20for=20= better=20code=0D=0A>=20>>>=20readability.=0D=0A>=20>>>=20=20-=20Update=20th= e=20title=20from=20'node=20block'=20to=20'node=20blocks'.=0D=0A>=20>>>=0D= =0A>=20>>>=20=20fs/f2fs/data.c=20=7C=203=20+++=0D=0A>=20>>>=20=20fs/f2fs/f2= fs.h=20=7C=201=20+=0D=0A>=20>>>=20=20fs/f2fs/node.c=20=7C=205=20++++-=0D=0A= >=20>>>=20=203=20files=20changed,=208=20insertions(+),=201=20deletion(-)=0D= =0A>=20>>>=0D=0A>=20>>>=20diff=20--git=20a/fs/f2fs/data.c=20b/fs/f2fs/data.= c=20index=0D=0A>=20>>>=207961e0ddfca3..ab3117e3b24a=20100644=0D=0A>=20>>>= =20---=20a/fs/f2fs/data.c=0D=0A>=20>>>=20+++=20b/fs/f2fs/data.c=0D=0A>=20>>= >=20=40=40=20-1572,6=20+1572,9=20=40=40=20int=20f2fs_map_blocks(struct=20in= ode=20*inode,=0D=0A>=20>>>=20struct=0D=0A>=20>>=20f2fs_map_blocks=20*map,= =20int=20flag)=0D=0A>=20>>>=20=20=09pgofs=20=3D=09(pgoff_t)map->m_lblk;=0D= =0A>=20>>>=20=20=09end=20=3D=20pgofs=20+=20maxblocks;=0D=0A>=20>>>=0D=0A>= =20>>>=20+=09if=20(flag=20=3D=3D=20F2FS_GET_BLOCK_PRECACHE)=0D=0A>=20>>>=20= +=09=09mode=20=3D=20LOOKUP_NODE_PRECACHE;=0D=0A>=20>>>=20+=0D=0A>=20>>>=20= =20next_dnode:=0D=0A>=20>>>=20=20=09if=20(map->m_may_create)=20=7B=0D=0A>= =20>>>=20=20=09=09if=20(f2fs_lfs_mode(sbi))=0D=0A>=20>>>=20diff=20--git=20a= /fs/f2fs/f2fs.h=20b/fs/f2fs/f2fs.h=20index=0D=0A>=20>>>=209d3bc9633c1d..3ce= 41528d48e=20100644=0D=0A>=20>>>=20---=20a/fs/f2fs/f2fs.h=0D=0A>=20>>>=20+++= =20b/fs/f2fs/f2fs.h=0D=0A>=20>>>=20=40=40=20-651,6=20+651,7=20=40=40=20enum= =20=7B=0D=0A>=20>>>=20=20=09=09=09=09=09=20*=20look=20up=20a=20node=20with= =20readahead=20called=0D=0A>=20>>>=20=20=09=09=09=09=09=20*=20by=20get_data= _block.=0D=0A>=20>>>=20=20=09=09=09=09=09=20*/=0D=0A>=20>>>=20+=09LOOKUP_NO= DE_PRECACHE,=09=09/*=20look=20up=20a=20node=20for=0D=0A>=20>>=20F2FS_GET_BL= OCK_PRECACHE=20*/=0D=0A>=20>>>=20=20=7D;=0D=0A>=20>>>=0D=0A>=20>>>=20=20=23= define=20DEFAULT_RETRY_IO_COUNT=098=09/*=20maximum=20retry=20read=20IO=20or= =0D=0A>=20flush=0D=0A>=20>>=20count=20*/=0D=0A>=20>>>=20diff=20--git=20a/fs= /f2fs/node.c=20b/fs/f2fs/node.c=20index=0D=0A>=20>>>=204254db453b2d..d4bf3c= e715c5=20100644=0D=0A>=20>>>=20---=20a/fs/f2fs/node.c=0D=0A>=20>>>=20+++=20= b/fs/f2fs/node.c=0D=0A>=20>>>=20=40=40=20-860,7=20+860,10=20=40=40=20int=20= f2fs_get_dnode_of_data(struct=20dnode_of_data=0D=0A>=20>>>=20*dn,=0D=0A>=20= >>=20pgoff_t=20index,=20int=20mode)=0D=0A>=20>>>=20=20=09=09=09set_nid(pare= nt,=20offset=5Bi=20-=201=5D,=20nids=5Bi=5D,=20i=20=3D=3D=201);=0D=0A>=20>>>= =20=20=09=09=09f2fs_alloc_nid_done(sbi,=20nids=5Bi=5D);=0D=0A>=20>>>=20=20= =09=09=09done=20=3D=20true;=0D=0A>=20>>>=20-=09=09=7D=20else=20if=20(mode= =20=3D=3D=20LOOKUP_NODE_RA=20&&=20i=20=3D=3D=20level=20&&=20level=20>=201)= =0D=0A>=20>>=20=7B=0D=0A>=20>>>=20+=09=09=7D=20else=20if=20((i=20=3D=3D=20l= evel=20&&=20level=20>=201)=20&&=0D=0A>=20>>>=20+=09=09=09=09(mode=20=3D=3D= =20LOOKUP_NODE_RA=20=7C=7C=0D=0A>=20>>>=20+=09=09=09=09(mode=20=3D=3D=20LOO= KUP_NODE_PRECACHE=20&&=0D=0A>=20>>>=20+=09=09=09=09offset=5Bi=20-=201=5D=20= %=20MAX_RA_NODE=20=3D=3D=200)))=20=7B=0D=0A>=20>>>=20=20=09=09=09nfolio=5Bi= =5D=20=3D=20f2fs_get_node_folio_ra(parent,=20offset=5Bi=20-=0D=0A>=20>>=201= =5D);=0D=0A>=20>>>=20=20=09=09=09if=20(IS_ERR(nfolio=5Bi=5D))=20=7B=0D=0A>= =20>>>=20=20=09=09=09=09err=20=3D=20PTR_ERR(nfolio=5Bi=5D);=0D=0A>=20>=0D= =0A>=20>=0D=0A>=20>=0D=0A=0D=0A=0D=0A