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 EEC5DC83F26 for ; Mon, 28 Jul 2025 08:07:48 +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: 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=eIo2VGy5qO56xR9fzKauL1fHudig/PB4cOU/LNOOiZM=; b=Gn5MH0RALSah/g+rlTgCE+5LcD PIeMnEEE5Iv7duGnzQ5dDumsjSjWmkmdsHQgoKns+Z/WfIQ3rs9i0cGCVYM3/H1aMOXJYgxej0VX/ sIpNl3ejByNzYGoWuWnCEIJhWUiVfyAYPiYs8t382EvN4yMwbl6YHkwC6OYkPKmbjjRs=; Received: from [127.0.0.1] (helo=sfs-ml-1.v29.lw.sourceforge.com) by sfs-ml-1.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1ugItg-0002vX-Cf; Mon, 28 Jul 2025 08:07:48 +0000 Received: from [172.30.29.66] (helo=mx.sourceforge.net) by sfs-ml-1.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1ugIta-0002t0-PL for linux-f2fs-devel@lists.sourceforge.net; Mon, 28 Jul 2025 08:07:42 +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=uga1dwUos6c/e0IG6MU1E8SqBSpZnUCDy8RRMVKFC8E=; b=YOibrRxAOwsasZnOVGgY0d+Kkp xtGtjbGBd9mjW2sb28CgO36xssWMAQcbcH/ndF1i7pNsmShqSxjLvMNK+BierATyQCzICiw7E6+By 00BhbJaNX3sXFo7IDdwHvZphiPuRfV59BymlLGHHAicfsUnJa4QRfQi4bjmdYylJtNoc=; 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=uga1dwUos6c/e0IG6MU1E8SqBSpZnUCDy8RRMVKFC8E=; b=axO+iri3q83a728YCNUB+QHPbC 0eivmf0K+Akve6ei/qnpYof1XFWBKo2IJZDBy/fbl+kgKKYM1KLr7GkYOMa3ipM+HANI3N324/hlm VLX7BmnBc1TMLAmIenPgaNNlB1aID6cjJMgsSfEmQfpFUZTfpvltRiLZZBNLVgxkTX8c=; Received: from sea.source.kernel.org ([172.234.252.31]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1ugIta-0005ZQ-00 for linux-f2fs-devel@lists.sourceforge.net; Mon, 28 Jul 2025 08:07:42 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 8345045885; Mon, 28 Jul 2025 08:07:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D925FC4CEE7; Mon, 28 Jul 2025 08:07:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1753690051; bh=lqV0tgABHCNr5zK2W1ACEsPKJu5VpCezF5PxxjLbB6Y=; h=Date:Cc:Subject:To:References:From:In-Reply-To:From; b=Md83gGme9scPaWP59ypo3l5IxBv1vqyDU4N3bnl2ZwkUPo/+XyaQe8Q5bbVR4WX45 tMAVTu9b6JfLKhcLMEeCdEvue1LDWriemaFvSxuZO/NQ/v3Q8rBBuExa/Tzd56vCMk 0PHh+beicfcBemckzfVQDy39K5EJbGD58ajOKEaDuW9Kspm9b6SROInptA6CIyuFWj GtFPlWHOl8jcdtH84AHuNy2onOm01w/+ILbGENyGR+E+uuqhUs44mnbJswTzbqAao/ urGqNggSBkLn+E4RWT8ky2EY2udmrrdvcxszwMMXFAXOlEpcmKI1NUHO2PEwTfcQM8 d6JDuKBV+KjQQ== Message-ID: <087f7937-20b5-4151-8a3f-5b6b2b045b41@kernel.org> Date: Mon, 28 Jul 2025 16:07:27 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: hanqi , jaegeuk@kernel.org References: <20250725075310.1614614-1-hanqi@vivo.com> Content-Language: en-US In-Reply-To: X-Headers-End: 1ugIta-0005ZQ-00 Subject: Re: [f2fs-dev] [PATCH] f2fs: f2fs supports uncached buffered I/O read 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: axboe@kernel.dk, 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 T24gNy8yOC8yNSAxNjowMywgaGFucWkgd3JvdGU6Cj4g5ZyoIDIwMjUvNy8yOCAxNTozOCwgQ2hh byBZdSDlhpnpgZM6Cj4gCj4+IE9uIDcvMjUvMjUgMTU6NTMsIFFpIEhhbiB3cm90ZToKPj4+IEpl bnMgaGFzIGFscmVhZHkgY29tcGxldGVkIHRoZSBkZXZlbG9wbWVudCBvZiB1bmNhY2hlZCBidWZm ZXJlZCBJL08KPj4+IGluIGdpdCBbMV0sIGFuZCBpbiBmMmZzLCB1bmNhY2hlZCBidWZmZXJlZCBJ L08gcmVhZCBjYW4gYmUgZW5hYmxlZAo+Pj4gc2ltcGx5IGJ5IHNldHRpbmcgdGhlIEZPUF9ET05U Q0FDSEUgZmxhZyBpbiBmMmZzX2ZpbGVfb3BlcmF0aW9ucy4KPj4gSUlVQywgd2UgbWF5IHN1ZmZl ciBsb2NrIGlzc3VlIHdoZW4gd2UgY2FsbCBwd3JpdGV2KC4uICxSV0ZfRE9OVENBQ0hFKT8KPj4g YXMgSmVuIG1lbnRpb25lZCBpbiBiZWxvdyBwYXRoLCByaWdodD8KPj4KPj4gc29mdC1pcnEKPj4g LSBmb2xpb19lbmRfd3JpdGViYWNrKCkKPj4gwqAgLSBmaWxlbWFwX2VuZF9kcm9wYmVoaW5kX3dy aXRlKCkKPj4gwqDCoCAtIGZpbGVtYXBfZW5kX2Ryb3BiZWhpbmQoKQo+PiDCoMKgwqAgLSBmb2xp b191bm1hcF9pbnZhbGlkYXRlKCkKPj4gwqDCoMKgwqAgLSBsb2NrIGlfbG9jawo+Pgo+PiBUaGFu a3MsCj4gCj4gVGhhdCdzIGhvdyBJIHVuZGVyc3RhbmQgaXQuCgpTbyBJIGd1ZXNzIHdlIG5lZWQg dG8gd2FpdCBmb3IgdGhlIHN1cHBvcnQgUldGX0RPTlRDQUNIRSBvbiB3cml0ZSBwYXRoLCB1bmxl c3MKeW91IGNhbiB3YWxrIGFyb3VuZCBmb3Igd3JpdGUgcGF0aCBpbiB0aGlzIHBhdGNoLgoKVGhh bmtzLAoKPiAKPj4+IEkgaGF2ZSBiZWVuIHRlc3RpbmcgYSB1c2UgY2FzZSBsb2NhbGx5LCB3aGlj aCBhbGlnbnMgd2l0aCBKZW5zJyB0ZXN0Cj4+PiBjYXNlIFsyXS4gSW4gdGhlIHJlYWQgc2NlbmFy aW8sIHVzaW5nIHVuY2FjaGVkIGJ1ZmZlciBJL08gcmVzdWx0cyBpbgo+Pj4gbW9yZSBzdGFibGUg cmVhZCBwZXJmb3JtYW5jZSBhbmQgYSBsb3dlciBsb2FkIG9uIHRoZSBiYWNrZ3JvdW5kIG1lbW9y eQo+Pj4gcmVjbGFpbSB0aHJlYWQgKGtzd2FwZCkuIFNvIGxldCdzIGVuYWJsZSB1bmNhY2hlZCBi dWZmZXIgSS9PIHJlYWRzIG9uCj4+PiBGMkZTLgo+Pj4KPj4+IFJlYWQgdGVzdCBkYXRhIHdpdGhv dXQgdXNpbmcgdW5jYWNoZWQgYnVmZmVyIEkvTzoKPj4+IHJlYWRpbmcgYnMgMzI3NjgsIHVuY2Fj aGVkIDAKPj4+IMKgwqDCoCAxczogMTg1Nk1CL3NlYywgTUI9MTg1Ngo+Pj4gwqDCoMKgIDJzOiAx OTA3TUIvc2VjLCBNQj0zNzYzCj4+PiDCoMKgwqAgM3M6IDE4MzBNQi9zZWMsIE1CPTU1OTQKPj4+ IMKgwqDCoCA0czogMTc0NU1CL3NlYywgTUI9NzMzMwo+Pj4gwqDCoMKgIDVzOiAxODI5TUIvc2Vj LCBNQj05MTYyCj4+PiDCoMKgwqAgNnM6IDE5MDNNQi9zZWMsIE1CPTExMDc1Cj4+PiDCoMKgwqAg N3M6IDE4NzhNQi9zZWMsIE1CPTEyOTQyCj4+PiDCoMKgwqAgOHM6IDE3NjNNQi9zZWMsIE1CPTE0 NzE4Cj4+PiDCoMKgwqAgOXM6IDE4NDVNQi9zZWMsIE1CPTE2NTQ5Cj4+PiDCoMKgIDEwczogMTkx NU1CL3NlYywgTUI9MTg0ODEKPj4+IMKgwqAgMTFzOiAxODMxTUIvc2VjLCBNQj0yMDI5NQo+Pj4g wqDCoCAxMnM6IDE3NTBNQi9zZWMsIE1CPTIyMDY2Cj4+PiDCoMKgIDEzczogMTc4N01CL3NlYywg TUI9MjM4MzIKPj4+IMKgwqAgMTRzOiAxOTEzTUIvc2VjLCBNQj0yNTc2OQo+Pj4gwqDCoCAxNXM6 IDE4OThNQi9zZWMsIE1CPTI3NjY4Cj4+PiDCoMKgIDE2czogMTc5NU1CL3NlYywgTUI9Mjk0MzYK Pj4+IMKgwqAgMTdzOiAxODEyTUIvc2VjLCBNQj0zMTI0OAo+Pj4gwqDCoCAxOHM6IDE4OTBNQi9z ZWMsIE1CPTMzMTM5Cj4+PiDCoMKgIDE5czogMTg4ME1CL3NlYywgTUI9MzUwMjAKPj4+IMKgwqAg MjBzOiAxNzU0TUIvc2VjLCBNQj0zNjgxMAo+Pj4KPj4+IDA4OjM2OjI2wqDCoMKgwqDCoCBVSUTC oMKgwqDCoMKgwqAgUElEwqDCoMKgICV1c3IgJXN5c3RlbcKgICVndWVzdMKgwqAgJXdhaXTCoMKg wqAgJUNQVcKgwqAgQ1BVwqAgQ29tbWFuZAo+Pj4gMDg6MzY6MjfCoMKgwqDCoMKgwqDCoCAwwqDC oMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4w MMKgwqDCoCAwLjAwwqDCoMKgwqAgN8KgIGtzd2FwZDAKPj4+IDA4OjM2OjI4wqDCoMKgwqDCoMKg wqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDC oMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoMKgIDfCoCBrc3dhcGQwCj4+PiAwODozNjoyOcKgwqDC oMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAg MC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqDCoCA3wqAga3N3YXBkMAo+Pj4gMDg6MzY6 MzDCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqAgNTYuMDDC oMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoCA1Ni4wMMKgwqDCoMKgIDfCoCBrc3dhcGQwCj4+PiAw ODozNjozMcKgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoCA3 My4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgIDczLjAwwqDCoMKgwqAgN8KgIGtzd2FwZDAK Pj4+IDA4OjM2OjMywqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAuMDDC oMKgIDgzLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqAgODMuMDDCoMKgwqDCoCA3wqAga3N3 YXBkMAo+Pj4gMDg6MzY6MzPCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAg MC4wMMKgwqAgNzUuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoCA3NS4wMMKgwqDCoMKgIDfC oCBrc3dhcGQwCj4+PiAwODozNjozNMKgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8Kg wqDCoCAwLjAwwqDCoCA4MS4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgIDgxLjAwwqDCoMKg wqAgN8KgIGtzd2FwZDAKPj4+IDA4OjM2OjM1wqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKg IDkzwqDCoMKgIDAuMDDCoMKgIDU0LjAwwqDCoMKgIDAuMDDCoMKgwqAgMS4wMMKgwqAgNTQuMDDC oMKgwqDCoCAywqAga3N3YXBkMAo+Pj4gMDg6MzY6MzbCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDC oMKgwqAgOTPCoMKgwqAgMC4wMMKgwqAgNjEuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoCA2 MS4wMMKgwqDCoMKgIDDCoCBrc3dhcGQwCj4+PiAwODozNjozN8KgwqDCoMKgwqDCoMKgIDDCoMKg wqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoCA2OC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDC oMKgIDY4LjAwwqDCoMKgwqAgN8KgIGtzd2FwZDAKPj4+IDA4OjM2OjM4wqDCoMKgwqDCoMKgwqAg MMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAuMDDCoMKgIDUzLjAwwqDCoMKgIDAuMDDCoMKgwqAg MC4wMMKgwqAgNTMuMDDCoMKgwqDCoCAywqAga3N3YXBkMAo+Pj4gMDg6MzY6MznCoMKgwqDCoMKg wqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqAgODIuMDDCoMKgwqAgMC4wMMKg wqDCoCAwLjAwwqDCoCA4Mi4wMMKgwqDCoMKgIDfCoCBrc3dhcGQwCj4+PiAwODozNjo0MMKgwqDC oMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoCA3Ny4wMMKgwqDCoCAw LjAwwqDCoMKgIDAuMDDCoMKgIDc3LjAwwqDCoMKgwqAgMcKgIGtzd2FwZDAKPj4+IDA4OjM2OjQx wqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAuMDDCoMKgIDc0LjAwwqDC oMKgIDAuMDDCoMKgwqAgMS4wMMKgwqAgNzQuMDDCoMKgwqDCoCA3wqAga3N3YXBkMAo+Pj4gMDg6 MzY6NDLCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqAgNzEu MDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoCA3MS4wMMKgwqDCoMKgIDfCoCBrc3dhcGQwCj4+ PiAwODozNjo0M8KgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDC oCA3OC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgIDc4LjAwwqDCoMKgwqAgN8KgIGtzd2Fw ZDAKPj4+IDA4OjM2OjQ0wqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAu MDDCoMKgIDg1LjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqAgODUuMDDCoMKgwqDCoCA3wqAg a3N3YXBkMAo+Pj4gMDg6MzY6NDXCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKg wqAgMC4wMMKgwqAgODMuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoCA4My4wMMKgwqDCoMKg IDfCoCBrc3dhcGQwCj4+PiAwODozNjo0NsKgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5 M8KgwqDCoCAwLjAwwqDCoCA3MC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgIDcwLjAwwqDC oMKgwqAgN8KgIGtzd2FwZDAKPj4+IDA4OjM2OjQ3wqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDC oMKgIDkzwqDCoMKgIDAuMDDCoMKgIDc4LjAwwqDCoMKgIDAuMDDCoMKgwqAgMS4wMMKgwqAgNzgu MDDCoMKgwqDCoCAywqAga3N3YXBkMAo+Pj4gMDg6MzY6NDjCoMKgwqDCoMKgwqDCoCAwwqDCoMKg wqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqAgODEuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDC oCA4MS4wMMKgwqDCoMKgIDPCoCBrc3dhcGQwCj4+PiAwODozNjo0OcKgwqDCoMKgwqDCoMKgIDDC oMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoCA1NC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAu MDDCoMKgIDU0LjAwwqDCoMKgwqAgN8KgIGtzd2FwZDAKPj4+IDA4OjM2OjUwwqDCoMKgwqDCoMKg wqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAuMDDCoMKgIDc2LjAwwqDCoMKgIDAuMDDCoMKg wqAgMC4wMMKgwqAgNzYuMDDCoMKgwqDCoCAxwqAga3N3YXBkMAo+Pj4gMDg6MzY6NTHCoMKgwqDC oMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqAgNzUuMDDCoMKgwqAgMC4w MMKgwqDCoCAwLjAwwqDCoCA3NS4wMMKgwqDCoMKgIDDCoCBrc3dhcGQwCj4+PiAwODozNjo1MsKg wqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoCA3My4wMMKgwqDC oCAwLjAwwqDCoMKgIDAuMDDCoMKgIDczLjAwwqDCoMKgwqAgN8KgIGtzd2FwZDAKPj4+IDA4OjM2 OjUzwqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAuMDDCoMKgIDYxLjAw wqDCoMKgIDAuMDDCoMKgwqAgMS4wMMKgwqAgNjEuMDDCoMKgwqDCoCA3wqAga3N3YXBkMAo+Pj4g MDg6MzY6NTTCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqAg ODAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoCA4MC4wMMKgwqDCoMKgIDfCoCBrc3dhcGQw Cj4+PiAwODozNjo1NcKgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAw wqDCoCA2NC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgIDY0LjAwwqDCoMKgwqAgN8KgIGtz d2FwZDAKPj4+IDA4OjM2OjU2wqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKg IDAuMDDCoMKgIDU2LjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqAgNTYuMDDCoMKgwqDCoCA3 wqAga3N3YXBkMAo+Pj4gMDg6MzY6NTfCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPC oMKgwqAgMC4wMMKgwqAgMjYuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoCAyNi4wMMKgwqDC oMKgIDLCoCBrc3dhcGQwCj4+PiAwODozNjo1OMKgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDC oCA5M8KgwqDCoCAwLjAwwqDCoCAyNC4wMMKgwqDCoCAwLjAwwqDCoMKgIDEuMDDCoMKgIDI0LjAw wqDCoMKgwqAgM8KgIGtzd2FwZDAKPj4+IDA4OjM2OjU5wqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKg wqDCoMKgIDkzwqDCoMKgIDAuMDDCoMKgIDIyLjAwwqDCoMKgIDAuMDDCoMKgwqAgMS4wMMKgwqAg MjIuMDDCoMKgwqDCoCAzwqAga3N3YXBkMAo+Pj4gMDg6Mzc6MDDCoMKgwqDCoMKgwqDCoCAwwqDC oMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqAgMTUuODTCoMKgwqAgMC4wMMKgwqDCoCAwLjAw wqDCoCAxNS44NMKgwqDCoMKgIDPCoCBrc3dhcGQwCj4+PiAwODozNzowMcKgwqDCoMKgwqDCoMKg IDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDC oCAwLjAwwqDCoMKgIDAuMDDCoMKgwqDCoCAzwqAga3N3YXBkMAo+Pj4gMDg6Mzc6MDLCoMKgwqDC oMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAu MDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgwqAgM8KgIGtzd2FwZDAKPj4+Cj4+PiBSZWFk IHRlc3QgZGF0YSBhZnRlciB1c2luZyB1bmNhY2hlZCBidWZmZXIgSS9POgo+Pj4gcmVhZGluZyBi cyAzMjc2OCwgdW5jYWNoZWQgMQo+Pj4gwqDCoMKgIDFzOiAxODYzTUIvc2VjLCBNQj0xODYzCj4+ PiDCoMKgwqAgMnM6IDE5MDNNQi9zZWMsIE1CPTM3NjYKPj4+IMKgwqDCoCAzczogMTg2ME1CL3Nl YywgTUI9NTYyNwo+Pj4gwqDCoMKgIDRzOiAxODY0TUIvc2VjLCBNQj03NDkxCj4+PiDCoMKgwqAg NXM6IDE4NjBNQi9zZWMsIE1CPTkzNTIKPj4+IMKgwqDCoCA2czogMTg1NE1CL3NlYywgTUI9MTEy MDYKPj4+IMKgwqDCoCA3czogMTg3NE1CL3NlYywgTUI9MTMwODEKPj4+IMKgwqDCoCA4czogMTg3 NE1CL3NlYywgTUI9MTQ5NDMKPj4+IMKgwqDCoCA5czogMTg0ME1CL3NlYywgTUI9MTY3OTgKPj4+ IMKgwqAgMTBzOiAxODQ5TUIvc2VjLCBNQj0xODY0Nwo+Pj4gwqDCoCAxMXM6IDE4NjNNQi9zZWMs IE1CPTIwNTExCj4+PiDCoMKgIDEyczogMTc5OE1CL3NlYywgTUI9MjIzMTAKPj4+IMKgwqAgMTNz OiAxODk3TUIvc2VjLCBNQj0yNDIwNwo+Pj4gwqDCoCAxNHM6IDE4MTdNQi9zZWMsIE1CPTI2MDI1 Cj4+PiDCoMKgIDE1czogMTg5M01CL3NlYywgTUI9Mjc5MTgKPj4+IMKgwqAgMTZzOiAxOTE3TUIv c2VjLCBNQj0yOTgzNgo+Pj4gwqDCoCAxN3M6IDE4NjNNQi9zZWMsIE1CPTMxNjk5Cj4+PiDCoMKg IDE4czogMTkwNE1CL3NlYywgTUI9MzM2MDQKPj4+IMKgwqAgMTlzOiAxODk0TUIvc2VjLCBNQj0z NTQ5OQo+Pj4gwqDCoCAyMHM6IDE5MDdNQi9zZWMsIE1CPTM3NDA3Cj4+Pgo+Pj4gMDg6Mzg6MDDC oMKgwqDCoMKgIFVJRMKgwqDCoMKgwqDCoCBQSUTCoMKgwqAgJXVzciAlc3lzdGVtwqAgJWd1ZXN0 wqDCoCAld2FpdMKgwqDCoCAlQ1BVwqDCoCBDUFXCoCBDb21tYW5kCj4+PiAwODozODowMcKgwqDC oMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAg MC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqDCoCA0wqAga3N3YXBkMAo+Pj4gMDg6Mzg6 MDLCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqDCoCAwLjAw wqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgwqAgNMKgIGtzd2FwZDAKPj4+ IDA4OjM4OjAzwqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAuMDDCoMKg wqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoMKgIDTCoCBrc3dh cGQwCj4+PiAwODozODowNMKgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAw LjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqDCoCA0 wqAga3N3YXBkMAo+Pj4gMDg6Mzg6MDXCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPC oMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDC oMKgwqAgNMKgIGtzd2FwZDAKPj4+IDA4OjM4OjA2wqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDC oMKgIDkzwqDCoMKgIDAuMDDCoMKgwqAgMS4wMMKgwqDCoCAwLjAwwqDCoMKgIDEuMDDCoMKgwqAg MS4wMMKgwqDCoMKgIDDCoCBrc3dhcGQwCj4+PiAwODozODowN8KgwqDCoMKgwqDCoMKgIDDCoMKg wqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAw wqDCoMKgIDAuMDDCoMKgwqDCoCAwwqAga3N3YXBkMAo+Pj4gMDg6Mzg6MDjCoMKgwqDCoMKgwqDC oCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKg wqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgwqAgMMKgIGtzd2FwZDAKPj4+IDA4OjM4OjA5wqDCoMKg wqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAuMDDCoMKgwqAgMS4wMMKgwqDCoCAw LjAwwqDCoMKgIDAuMDDCoMKgwqAgMS4wMMKgwqDCoMKgIDHCoCBrc3dhcGQwCj4+PiAwODozODox MMKgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoMKgIDAuMDDC oMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqDCoCAxwqAga3N3YXBkMAo+Pj4g MDg6Mzg6MTHCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqDC oCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgwqAgMcKgIGtzd2Fw ZDAKPj4+IDA4OjM4OjEywqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAu MDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoMKgIDHC oCBrc3dhcGQwCj4+PiAwODozODoxM8KgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8Kg wqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKg wqDCoCAxwqAga3N3YXBkMAo+Pj4gMDg6Mzg6MTTCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKg wqAgOTPCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAw LjAwwqDCoMKgwqAgMcKgIGtzd2FwZDAKPj4+IDA4OjM4OjE1wqDCoMKgwqDCoMKgwqAgMMKgwqDC oMKgwqDCoMKgIDkzwqDCoMKgIDAuMDDCoMKgwqAgMy4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDC oMKgwqAgMy4wMMKgwqDCoMKgIDDCoCBrc3dhcGQwCj4+PiAwODozODoxNsKgwqDCoMKgwqDCoMKg IDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDC oCAwLjAwwqDCoMKgIDAuMDDCoMKgwqDCoCAwwqAga3N3YXBkMAo+Pj4gMDg6Mzg6MTfCoMKgwqDC oMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAu MDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgwqAgMMKgIGtzd2FwZDAKPj4+IDA4OjM4OjE4 wqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKg wqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoMKgIDDCoCBrc3dhcGQwCj4+PiAw ODozODoxOcKgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoMKg IDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqDCoCAwwqAga3N3YXBk MAo+Pj4gMDg6Mzg6MjDCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4w MMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgwqAgMMKg IGtzd2FwZDAKPj4+IDA4OjM4OjIxwqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDC oMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDC oMKgIDDCoCBrc3dhcGQwCj4+PiAwODozODoyMsKgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDC oCA5M8KgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAu MDDCoMKgwqDCoCAwwqAga3N3YXBkMAo+Pj4gMDg6Mzg6MjPCoMKgwqDCoMKgwqDCoCAwwqDCoMKg wqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqDCoCAzLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKg wqDCoCAzLjAwwqDCoMKgwqAgNMKgIGtzd2FwZDAKPj4+IDA4OjM4OjI0wqDCoMKgwqDCoMKgwqAg MMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKg IDAuMDDCoMKgwqAgMC4wMMKgwqDCoMKgIDTCoCBrc3dhcGQwCj4+PiAwODozODoyNcKgwqDCoMKg wqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4w MMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqDCoCA0wqAga3N3YXBkMAo+Pj4gMDg6Mzg6MjbC oMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqDCoCA0LjAwwqDC oMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCA0LjAwwqDCoMKgwqAgM8KgIGtzd2FwZDAKPj4+IDA4 OjM4OjI3wqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAuMDDCoMKgwqAg MC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoMKgIDPCoCBrc3dhcGQw Cj4+PiAwODozODoyOMKgwqDCoMKgwqDCoMKgIDDCoMKgwqDCoMKgwqDCoCA5M8KgwqDCoCAwLjAw wqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqDCoCAzwqAg a3N3YXBkMAo+Pj4gMDg6Mzg6MjnCoMKgwqDCoMKgwqDCoCAwwqDCoMKgwqDCoMKgwqAgOTPCoMKg wqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKg wqAgM8KgIGtzd2FwZDAKPj4+IDA4OjM4OjMwwqDCoMKgwqDCoMKgwqAgMMKgwqDCoMKgwqDCoMKg IDkzwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4w MMKgwqDCoMKgIDPCoCBrc3dhcGQwCj4+PiAwODozODozMcKgwqDCoMKgwqDCoMKgIDDCoMKgwqDC oMKgwqDCoCA5M8KgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDC oMKgIDAuMDDCoMKgwqDCoCAzwqAga3N3YXBkMAo+Pj4gMDg6Mzg6MzLCoMKgwqDCoMKgwqDCoCAw wqDCoMKgwqDCoMKgwqAgOTPCoMKgwqAgMC4wMMKgwqDCoCAwLjAwwqDCoMKgIDAuMDDCoMKgwqAg MC4wMMKgwqDCoCAwLjAwwqDCoMKgwqAgM8KgIGtzd2FwZDAKPj4+IDA4OjM4OjMzwqDCoMKgwqDC oMKgwqAgMMKgwqDCoMKgwqDCoMKgIDkzwqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoCAwLjAw wqDCoMKgIDAuMDDCoMKgwqAgMC4wMMKgwqDCoMKgIDPCoCBrc3dhcGQwCj4+Pgo+Pj4gWzFdCj4+ PiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAyNDEyMjAxNTQ4MzEuMTA4NjY0OS0xMC1h eGJvZUBrZXJuZWwuZGsvVC8jbTU4NTIwYTk0YjQ2ZjU0M2Q4MmRiMzcxMTQ1M2RmYzdiYjU5NGIy YjAKPj4+Cj4+PiBbMl0KPj4+IGh0dHBzOi8vcGFzdGViaW4uY29tL3U4ZUNCekI1Cj4+Pgo+Pj4g U2lnbmVkLW9mZi1ieTogUWkgSGFuIDxoYW5xaUB2aXZvLmNvbT4KPj4+IC0tLQo+Pj4gwqAgZnMv ZjJmcy9maWxlLmMgfCAyICstCj4+PiDCoCAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZnMvZjJmcy9maWxlLmMgYi9mcy9m MmZzL2ZpbGUuYwo+Pj4gaW5kZXggNjk2MTMxZTY1NWVkLi5kOGRhMWZjMmZlYmYgMTAwNjQ0Cj4+ PiAtLS0gYS9mcy9mMmZzL2ZpbGUuYwo+Pj4gKysrIGIvZnMvZjJmcy9maWxlLmMKPj4+IEBAIC01 NDI1LDUgKzU0MjUsNSBAQCBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGYyZnNfZmlsZV9v cGVyYXRpb25zID0gewo+Pj4gwqDCoMKgwqDCoCAuc3BsaWNlX3JlYWTCoMKgwqAgPSBmMmZzX2Zp bGVfc3BsaWNlX3JlYWQsCj4+PiDCoMKgwqDCoMKgIC5zcGxpY2Vfd3JpdGXCoMKgwqAgPSBpdGVy X2ZpbGVfc3BsaWNlX3dyaXRlLAo+Pj4gwqDCoMKgwqDCoCAuZmFkdmlzZcKgwqDCoCA9IGYyZnNf ZmlsZV9mYWR2aXNlLAo+Pj4gLcKgwqDCoCAuZm9wX2ZsYWdzwqDCoMKgID0gRk9QX0JVRkZFUl9S QVNZTkMsCj4+PiArwqDCoMKgIC5mb3BfZmxhZ3PCoMKgwqAgPSBGT1BfQlVGRkVSX1JBU1lOQyB8 IEZPUF9ET05UQ0FDSEUsCj4+PiDCoCB9Owo+IAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1mMmZzLWRldmVsIG1haWxpbmcgbGlzdApMaW51 eC1mMmZzLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNvdXJjZWZv cmdlLm5ldC9saXN0cy9saXN0aW5mby9saW51eC1mMmZzLWRldmVsCg== 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 E0DF31DE4CE for ; Mon, 28 Jul 2025 08:07:31 +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=1753690052; cv=none; b=p+xWpjC/DViRaixrRtdyvtDjLkthsuiuPCU9CJxCmCDG83UmQSbn2vNbV0pWKXaKs+VmBtJSyw5p93rBq5Q+dQxdW6sJPB1n83taSwWjkrv3whh8m92PJCNwGLbRprOV0zShmYvedNFVZvaWrHTz2b86FePzxNe1DG8x34Rm4Y4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753690052; c=relaxed/simple; bh=lqV0tgABHCNr5zK2W1ACEsPKJu5VpCezF5PxxjLbB6Y=; h=Message-ID:Date:MIME-Version:Cc:Subject:To:References:From: In-Reply-To:Content-Type; b=HLO63ZCYoU+2zv9hGy/o3oIdFhU9Nmr/dOwNf3aNtdj7BojKtliSXDn06lQX3pygtFAf79rQVAPh7o25VBuKbVU/EnNHw1rbOsXnDWPBt8A7QT0zAmSmpHdDCpL2CyE0jPfBIknvI1Se5+tnvhJCRVPy3f1qcW0ZiYFKZScqF7g= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Md83gGme; 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="Md83gGme" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D925FC4CEE7; Mon, 28 Jul 2025 08:07:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1753690051; bh=lqV0tgABHCNr5zK2W1ACEsPKJu5VpCezF5PxxjLbB6Y=; h=Date:Cc:Subject:To:References:From:In-Reply-To:From; b=Md83gGme9scPaWP59ypo3l5IxBv1vqyDU4N3bnl2ZwkUPo/+XyaQe8Q5bbVR4WX45 tMAVTu9b6JfLKhcLMEeCdEvue1LDWriemaFvSxuZO/NQ/v3Q8rBBuExa/Tzd56vCMk 0PHh+beicfcBemckzfVQDy39K5EJbGD58ajOKEaDuW9Kspm9b6SROInptA6CIyuFWj GtFPlWHOl8jcdtH84AHuNy2onOm01w/+ILbGENyGR+E+uuqhUs44mnbJswTzbqAao/ urGqNggSBkLn+E4RWT8ky2EY2udmrrdvcxszwMMXFAXOlEpcmKI1NUHO2PEwTfcQM8 d6JDuKBV+KjQQ== Message-ID: <087f7937-20b5-4151-8a3f-5b6b2b045b41@kernel.org> Date: Mon, 28 Jul 2025 16:07:27 +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, axboe@kernel.dk, linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: Re: [PATCH] f2fs: f2fs supports uncached buffered I/O read To: hanqi , jaegeuk@kernel.org References: <20250725075310.1614614-1-hanqi@vivo.com> Content-Language: en-US From: Chao Yu In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 7/28/25 16:03, hanqi wrote: > 在 2025/7/28 15:38, Chao Yu 写道: > >> On 7/25/25 15:53, Qi Han wrote: >>> Jens has already completed the development of uncached buffered I/O >>> in git [1], and in f2fs, uncached buffered I/O read can be enabled >>> simply by setting the FOP_DONTCACHE flag in f2fs_file_operations. >> IIUC, we may suffer lock issue when we call pwritev(.. ,RWF_DONTCACHE)? >> as Jen mentioned in below path, right? >> >> soft-irq >> - folio_end_writeback() >>   - filemap_end_dropbehind_write() >>    - filemap_end_dropbehind() >>     - folio_unmap_invalidate() >>      - lock i_lock >> >> Thanks, > > That's how I understand it. So I guess we need to wait for the support RWF_DONTCACHE on write path, unless you can walk around for write path in this patch. Thanks, > >>> I have been testing a use case locally, which aligns with Jens' test >>> case [2]. In the read scenario, using uncached buffer I/O results in >>> more stable read performance and a lower load on the background memory >>> reclaim thread (kswapd). So let's enable uncached buffer I/O reads on >>> F2FS. >>> >>> Read test data without using uncached buffer I/O: >>> reading bs 32768, uncached 0 >>>     1s: 1856MB/sec, MB=1856 >>>     2s: 1907MB/sec, MB=3763 >>>     3s: 1830MB/sec, MB=5594 >>>     4s: 1745MB/sec, MB=7333 >>>     5s: 1829MB/sec, MB=9162 >>>     6s: 1903MB/sec, MB=11075 >>>     7s: 1878MB/sec, MB=12942 >>>     8s: 1763MB/sec, MB=14718 >>>     9s: 1845MB/sec, MB=16549 >>>    10s: 1915MB/sec, MB=18481 >>>    11s: 1831MB/sec, MB=20295 >>>    12s: 1750MB/sec, MB=22066 >>>    13s: 1787MB/sec, MB=23832 >>>    14s: 1913MB/sec, MB=25769 >>>    15s: 1898MB/sec, MB=27668 >>>    16s: 1795MB/sec, MB=29436 >>>    17s: 1812MB/sec, MB=31248 >>>    18s: 1890MB/sec, MB=33139 >>>    19s: 1880MB/sec, MB=35020 >>>    20s: 1754MB/sec, MB=36810 >>> >>> 08:36:26      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command >>> 08:36:27        0        93    0.00    0.00    0.00    0.00    0.00     7  kswapd0 >>> 08:36:28        0        93    0.00    0.00    0.00    0.00    0.00     7  kswapd0 >>> 08:36:29        0        93    0.00    0.00    0.00    0.00    0.00     7  kswapd0 >>> 08:36:30        0        93    0.00   56.00    0.00    0.00   56.00     7  kswapd0 >>> 08:36:31        0        93    0.00   73.00    0.00    0.00   73.00     7  kswapd0 >>> 08:36:32        0        93    0.00   83.00    0.00    0.00   83.00     7  kswapd0 >>> 08:36:33        0        93    0.00   75.00    0.00    0.00   75.00     7  kswapd0 >>> 08:36:34        0        93    0.00   81.00    0.00    0.00   81.00     7  kswapd0 >>> 08:36:35        0        93    0.00   54.00    0.00    1.00   54.00     2  kswapd0 >>> 08:36:36        0        93    0.00   61.00    0.00    0.00   61.00     0  kswapd0 >>> 08:36:37        0        93    0.00   68.00    0.00    0.00   68.00     7  kswapd0 >>> 08:36:38        0        93    0.00   53.00    0.00    0.00   53.00     2  kswapd0 >>> 08:36:39        0        93    0.00   82.00    0.00    0.00   82.00     7  kswapd0 >>> 08:36:40        0        93    0.00   77.00    0.00    0.00   77.00     1  kswapd0 >>> 08:36:41        0        93    0.00   74.00    0.00    1.00   74.00     7  kswapd0 >>> 08:36:42        0        93    0.00   71.00    0.00    0.00   71.00     7  kswapd0 >>> 08:36:43        0        93    0.00   78.00    0.00    0.00   78.00     7  kswapd0 >>> 08:36:44        0        93    0.00   85.00    0.00    0.00   85.00     7  kswapd0 >>> 08:36:45        0        93    0.00   83.00    0.00    0.00   83.00     7  kswapd0 >>> 08:36:46        0        93    0.00   70.00    0.00    0.00   70.00     7  kswapd0 >>> 08:36:47        0        93    0.00   78.00    0.00    1.00   78.00     2  kswapd0 >>> 08:36:48        0        93    0.00   81.00    0.00    0.00   81.00     3  kswapd0 >>> 08:36:49        0        93    0.00   54.00    0.00    0.00   54.00     7  kswapd0 >>> 08:36:50        0        93    0.00   76.00    0.00    0.00   76.00     1  kswapd0 >>> 08:36:51        0        93    0.00   75.00    0.00    0.00   75.00     0  kswapd0 >>> 08:36:52        0        93    0.00   73.00    0.00    0.00   73.00     7  kswapd0 >>> 08:36:53        0        93    0.00   61.00    0.00    1.00   61.00     7  kswapd0 >>> 08:36:54        0        93    0.00   80.00    0.00    0.00   80.00     7  kswapd0 >>> 08:36:55        0        93    0.00   64.00    0.00    0.00   64.00     7  kswapd0 >>> 08:36:56        0        93    0.00   56.00    0.00    0.00   56.00     7  kswapd0 >>> 08:36:57        0        93    0.00   26.00    0.00    0.00   26.00     2  kswapd0 >>> 08:36:58        0        93    0.00   24.00    0.00    1.00   24.00     3  kswapd0 >>> 08:36:59        0        93    0.00   22.00    0.00    1.00   22.00     3  kswapd0 >>> 08:37:00        0        93    0.00   15.84    0.00    0.00   15.84     3  kswapd0 >>> 08:37:01        0        93    0.00    0.00    0.00    0.00    0.00     3  kswapd0 >>> 08:37:02        0        93    0.00    0.00    0.00    0.00    0.00     3  kswapd0 >>> >>> Read test data after using uncached buffer I/O: >>> reading bs 32768, uncached 1 >>>     1s: 1863MB/sec, MB=1863 >>>     2s: 1903MB/sec, MB=3766 >>>     3s: 1860MB/sec, MB=5627 >>>     4s: 1864MB/sec, MB=7491 >>>     5s: 1860MB/sec, MB=9352 >>>     6s: 1854MB/sec, MB=11206 >>>     7s: 1874MB/sec, MB=13081 >>>     8s: 1874MB/sec, MB=14943 >>>     9s: 1840MB/sec, MB=16798 >>>    10s: 1849MB/sec, MB=18647 >>>    11s: 1863MB/sec, MB=20511 >>>    12s: 1798MB/sec, MB=22310 >>>    13s: 1897MB/sec, MB=24207 >>>    14s: 1817MB/sec, MB=26025 >>>    15s: 1893MB/sec, MB=27918 >>>    16s: 1917MB/sec, MB=29836 >>>    17s: 1863MB/sec, MB=31699 >>>    18s: 1904MB/sec, MB=33604 >>>    19s: 1894MB/sec, MB=35499 >>>    20s: 1907MB/sec, MB=37407 >>> >>> 08:38:00      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command >>> 08:38:01        0        93    0.00    0.00    0.00    0.00    0.00     4  kswapd0 >>> 08:38:02        0        93    0.00    0.00    0.00    0.00    0.00     4  kswapd0 >>> 08:38:03        0        93    0.00    0.00    0.00    0.00    0.00     4  kswapd0 >>> 08:38:04        0        93    0.00    0.00    0.00    0.00    0.00     4  kswapd0 >>> 08:38:05        0        93    0.00    0.00    0.00    0.00    0.00     4  kswapd0 >>> 08:38:06        0        93    0.00    1.00    0.00    1.00    1.00     0  kswapd0 >>> 08:38:07        0        93    0.00    0.00    0.00    0.00    0.00     0  kswapd0 >>> 08:38:08        0        93    0.00    0.00    0.00    0.00    0.00     0  kswapd0 >>> 08:38:09        0        93    0.00    1.00    0.00    0.00    1.00     1  kswapd0 >>> 08:38:10        0        93    0.00    0.00    0.00    0.00    0.00     1  kswapd0 >>> 08:38:11        0        93    0.00    0.00    0.00    0.00    0.00     1  kswapd0 >>> 08:38:12        0        93    0.00    0.00    0.00    0.00    0.00     1  kswapd0 >>> 08:38:13        0        93    0.00    0.00    0.00    0.00    0.00     1  kswapd0 >>> 08:38:14        0        93    0.00    0.00    0.00    0.00    0.00     1  kswapd0 >>> 08:38:15        0        93    0.00    3.00    0.00    0.00    3.00     0  kswapd0 >>> 08:38:16        0        93    0.00    0.00    0.00    0.00    0.00     0  kswapd0 >>> 08:38:17        0        93    0.00    0.00    0.00    0.00    0.00     0  kswapd0 >>> 08:38:18        0        93    0.00    0.00    0.00    0.00    0.00     0  kswapd0 >>> 08:38:19        0        93    0.00    0.00    0.00    0.00    0.00     0  kswapd0 >>> 08:38:20        0        93    0.00    0.00    0.00    0.00    0.00     0  kswapd0 >>> 08:38:21        0        93    0.00    0.00    0.00    0.00    0.00     0  kswapd0 >>> 08:38:22        0        93    0.00    0.00    0.00    0.00    0.00     0  kswapd0 >>> 08:38:23        0        93    0.00    3.00    0.00    0.00    3.00     4  kswapd0 >>> 08:38:24        0        93    0.00    0.00    0.00    0.00    0.00     4  kswapd0 >>> 08:38:25        0        93    0.00    0.00    0.00    0.00    0.00     4  kswapd0 >>> 08:38:26        0        93    0.00    4.00    0.00    0.00    4.00     3  kswapd0 >>> 08:38:27        0        93    0.00    0.00    0.00    0.00    0.00     3  kswapd0 >>> 08:38:28        0        93    0.00    0.00    0.00    0.00    0.00     3  kswapd0 >>> 08:38:29        0        93    0.00    0.00    0.00    0.00    0.00     3  kswapd0 >>> 08:38:30        0        93    0.00    0.00    0.00    0.00    0.00     3  kswapd0 >>> 08:38:31        0        93    0.00    0.00    0.00    0.00    0.00     3  kswapd0 >>> 08:38:32        0        93    0.00    0.00    0.00    0.00    0.00     3  kswapd0 >>> 08:38:33        0        93    0.00    0.00    0.00    0.00    0.00     3  kswapd0 >>> >>> [1] >>> https://lore.kernel.org/all/20241220154831.1086649-10-axboe@kernel.dk/T/#m58520a94b46f543d82db3711453dfc7bb594b2b0 >>> >>> [2] >>> https://pastebin.com/u8eCBzB5 >>> >>> Signed-off-by: Qi Han >>> --- >>>   fs/f2fs/file.c | 2 +- >>>   1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c >>> index 696131e655ed..d8da1fc2febf 100644 >>> --- a/fs/f2fs/file.c >>> +++ b/fs/f2fs/file.c >>> @@ -5425,5 +5425,5 @@ const struct file_operations f2fs_file_operations = { >>>       .splice_read    = f2fs_file_splice_read, >>>       .splice_write    = iter_file_splice_write, >>>       .fadvise    = f2fs_file_fadvise, >>> -    .fop_flags    = FOP_BUFFER_RASYNC, >>> +    .fop_flags    = FOP_BUFFER_RASYNC | FOP_DONTCACHE, >>>   }; >