Re: [f2fs-dev] (2) [PATCH] f2fs: issue multi-device flushes in parallel

Yonggil Song <[email protected]> Thu, 06 Aug 2026 07:46:48 +0900
Newsgroups net.sourceforge.lists.linux-f2fs-devel,org.kernel.vger.linux-kernel
Message-ID <20260805224648epcms2p8359e0c2a6b0728dcc3ee3d540c195189@epcms2p8>
SGkgQ2hhbywKClRoYW5rcyBmb3IgdGhlIHJldmlldy4KCk9uIDgvMy8yNiAxNDo1OSwgQ2hhbyBZ
dSB3cm90ZToKPiBPbiA3LzEzLzI2IDEzOjU3LCBZb25nZ2lsIFNvbmcgd3JvdGU6Cj4+IE9uIGEg
bXVsdGktZGV2aWNlIHNldHVwLCBzdWJtaXRfZmx1c2hfd2FpdCgpIHdhbGtlZCB0aGUgZGlydHkg
ZGV2aWNlcwo+PiBpbiBvcmRlciBhbmQgYWJvcnRlZCB0aGUgd2hvbGUgbG9vcCBvbiB0aGUgZmly
c3QgZGV2aWNlIHdob3NlIGZsdXNoCj4+IGZhaWxlZCwgbGVhdmluZyB0aGUgcmVtYWluaW5nIGRp
cnR5IGRldmljZXMgdW4tZmx1c2hlZC4gRWFjaCBkZXZpY2UKPj4gc3RpbGwgbmVlZHMgaXRzIG93
biBkYXRhIG1hZGUgZHVyYWJsZSwgc28gYSBmYWlsdXJlIG9uIG9uZSBkZXZpY2UgbXVzdAo+PiBu
b3Qgc2tpcCB0aGUgb3RoZXJzLiBJdCBhbHNvIHdhaXRlZCBmb3Igb25lIGRldmljZSdzIGZsdXNo
IHRvIGNvbXBsZXRlCj4+IGJlZm9yZSBpc3N1aW5nIHRoZSBuZXh0LCBldmVuIHRob3VnaCB0aGUg
ZGV2aWNlcyBoYXZlIGluZGVwZW5kZW50Cj4+IGZsdXNoIHF1ZXVlcyBhbmQgY291bGQgYmUgZmx1
c2hlZCBjb25jdXJyZW50bHkuCj4+IAo+PiBGbHVzaCBldmVyeSBkaXJ0eSBkZXZpY2UgYmVzdC1l
ZmZvcnQgYW5kIGluIHBhcmFsbGVsIGluc3RlYWQ6IGJ1aWxkCj4+IG9uZSBQUkVGTFVTSCBiaW8g
cGVyIGRpcnR5IGRldmljZSwgc3VibWl0IHRoZW0gYWxsLCB0aGVuIHdhaXQgZm9yCj4+IGV2ZXJ5
IGNvbXBsZXRpb24sIHJldHVybmluZyB0aGUgZmlyc3QgZXJyb3Igc2VlbiAoMCBpZiBhbGwgc3Vj
Y2VlZCkuCj4+IFRoaXMgYm91bmRzIHRoZSBmbHVzaCB3aW5kb3cgYnkgdGhlIHNsb3dlc3QgZGV2
aWNlIHJhdGhlciB0aGFuIHRoZSBzdW0KPj4gb2YgYWxsIG9mIHRoZW0uIE5vIGNhbGxlciBkZXBl
bmRzIG9uIHRoZSBwcmV2aW91cyBlYXJseS1hYm9ydAo+PiBiZWhhdmlvdXIgLS0gZnN5bmMgb25s
eSBjaGVja3Mgd2hldGhlciB0aGUgcmV0dXJuIHZhbHVlIGlzIHplcm8KPj4gKGZzL2YyZnMvZmls
ZS5jKS4gVGhlIGNoZWNrcG9pbnQgcGF0aCAoZjJmc19mbHVzaF9kZXZpY2VfY2FjaGUpIGlzCj4+
IHVuYWZmZWN0ZWQ7IHRoaXMgb25seSB0b3VjaGVzIHRoZSBmc3luYyBmbHVzaCBwYXRoLgo+PiAK
Pj4gU2lnbmVkLW9mZi1ieTogWW9uZ2dpbCBTb25nIDx5b25nZ2lsLnNvbmdAc2Ftc3VuZy5jb20+
Cj4+IC0tLQo+PiAgIGZzL2YyZnMvc2VnbWVudC5jIHwgODQgKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+PiAgIDEgZmlsZSBjaGFuZ2VkLCA3
OCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQo+PiAKPj4gZGlmZiAtLWdpdCBhL2ZzL2Yy
ZnMvc2VnbWVudC5jIGIvZnMvZjJmcy9zZWdtZW50LmMKPj4gaW5kZXggZDcxZGRiM2VlOTE4Li41
MWQ3Zjc2ZTNkMWQgMTAwNjQ0Cj4+IC0tLSBhL2ZzL2YyZnMvc2VnbWVudC5jCj4+ICsrKyBiL2Zz
L2YyZnMvc2VnbWVudC5jCj4+IEBAIC01NjYsMjQgKzU2Niw5NiBAQCBzdGF0aWMgaW50IF9fc3Vi
bWl0X2ZsdXNoX3dhaXQoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLAo+PiAgIAlyZXR1cm4gcmV0
Owo+PiAgIH0KPj4gICAKPj4gLXN0YXRpYyBpbnQgc3VibWl0X2ZsdXNoX3dhaXQoc3RydWN0IGYy
ZnNfc2JfaW5mbyAqc2JpLCBuaWRfdCBpbm8pCj4+ICtzdGF0aWMgdm9pZCBmMmZzX2ZsdXNoX2Vu
ZF9pbyhzdHJ1Y3QgYmlvICpiaW8pCj4+ICt7Cj4+ICsJY29tcGxldGUoYmlvLT5iaV9wcml2YXRl
KTsKPj4gK30KPj4gKwo+PiArc3RydWN0IGYyZnNfZmx1c2hfYmlvIHsKPj4gKwlzdHJ1Y3QgYmlv
IGJpbzsKPj4gKwlzdHJ1Y3QgY29tcGxldGlvbiB3YWl0Owo+PiArfTsKPj4gKwo+PiArLyoKPj4g
KyAqIEZsdXNoIGV2ZXJ5IGRpcnR5IGRldmljZSBiZXN0LWVmZm9ydDogYSBmYWlsdXJlIG9uIG9u
ZSBkZXZpY2UgbXVzdCBub3QKPj4gKyAqIHNraXAgdGhlIGZsdXNoIG9uIHRoZSByZW1haW5pbmcg
ZGlydHkgZGV2aWNlcywgc2luY2UgZWFjaCBkZXZpY2Ugc3RpbGwKPj4gKyAqIG5lZWRzIGl0cyBv
d24gZGF0YSBtYWRlIGR1cmFibGUuIFJlcG9ydCB0aGUgZmlyc3QgZXJyb3IuCj4+ICsgKi8KPj4g
K3N0YXRpYyBpbnQgc3VibWl0X2ZsdXNoX3dhaXRfc2VyaWFsKHN0cnVjdCBmMmZzX3NiX2luZm8g
KnNiaSwgbmlkX3QgaW5vKQo+PiAgIHsKPj4gICAJaW50IHJldCA9IDA7Cj4+ICAgCWludCBpOwo+
PiAgIAo+PiAtCWlmICghZjJmc19pc19tdWx0aV9kZXZpY2Uoc2JpKSkKPj4gLQkJcmV0dXJuIF9f
c3VibWl0X2ZsdXNoX3dhaXQoc2JpLCBzYmktPnNiLT5zX2JkZXYpOwo+PiArCWZvciAoaSA9IDA7
IGkgPCBzYmktPnNfbmRldnM7IGkrKykgewo+PiArCQlpbnQgZXJyOwo+PiArCj4+ICsJCWlmICgh
ZjJmc19pc19kaXJ0eV9kZXZpY2Uoc2JpLCBpbm8sIGksIEZMVVNIX0lOTykpCj4+ICsJCQljb250
aW51ZTsKPj4gKwkJZXJyID0gX19zdWJtaXRfZmx1c2hfd2FpdChzYmksIEZERVYoaSkuYmRldik7
Cj4+ICsJCWlmIChlcnIgJiYgIXJldCkKPj4gKwkJCXJldCA9IGVycjsKPj4gKwl9Cj4+ICsJcmV0
dXJuIHJldDsKPj4gK30KPj4gKwo+PiArLyoKPj4gKyAqIFNhbWUgYmVzdC1lZmZvcnQvZmlyc3Qt
ZXJyb3IgY29udHJhY3QgYXMgc3VibWl0X2ZsdXNoX3dhaXRfc2VyaWFsKCksIGJ1dAo+PiArICog
aXNzdWUgZXZlcnkgZGlydHkgZGV2aWNlJ3MgZmx1c2ggYmVmb3JlIHdhaXRpbmcgZm9yIGFueSBv
ZiB0aGVtLCBzbyB0aGUKPj4gKyAqIHBlci1kZXZpY2UgZmx1c2ggbGF0ZW5jaWVzIG92ZXJsYXAg
aW5zdGVhZCBvZiBhZGRpbmcgdXAgaW4gc2VyaWVzLiBGYWxsCj4+ICsgKiBiYWNrIHRvIHRoZSBz
ZXJpYWwgcGF0aCBpZiB0aGUgYmlvIGFycmF5IGNhbm5vdCBiZSBhbGxvY2F0ZWQuCj4+ICsgKi8K
Pj4gK3N0YXRpYyBpbnQgc3VibWl0X2ZsdXNoX3dhaXRfcGFyYWxsZWwoc3RydWN0IGYyZnNfc2Jf
aW5mbyAqc2JpLCBuaWRfdCBpbm8pCj4+ICt7Cj4+ICsJc3RydWN0IGYyZnNfZmx1c2hfYmlvICpm
bHVzaF9iaW87Cj4+ICsJdW5zaWduZWQgbG9uZyBkZXZpY2VzID0gMDsKPj4gKwlpbnQgcmV0ID0g
MDsKPj4gKwlpbnQgaTsKPj4gKwo+PiArCWZsdXNoX2JpbyA9IGtjYWxsb2Moc2JpLT5zX25kZXZz
LCBzaXplb2YoKmZsdXNoX2JpbyksIEdGUF9OT0ZTKTsKPiAKPiBDYW4gd2UgYWxsb2NhdGUgZmx1
c2hfYmlvIGluIGxvY2FsIHN0YWNrPyBzbyB0aGF0IHdlIGRvbid0IG5lZWQgdG8gZmFsbGJhY2sK
PiB0byBzdWJtaXRfZmx1c2hfd2FpdF9zZXJpYWwoKSBmb3IgbG93IG1lbW9yeSBjYXNlPwoKSSB0
cmllZCB0aGUgc3RhY2sgZmlyc3QsIGJ1dCB0aGUgYXJyYXkgaXMgc2l6ZWQgYnkgTUFYX0RFVklD
RVMgKDgpIGFuZAplYWNoIGVudHJ5IGlzIGEgc3RydWN0IGJpbyAoMTM2IGJ5dGVzKSBwbHVzIGEg
c3RydWN0IGNvbXBsZXRpb24gKDg4CmJ5dGVzKSwgc28gdGhlIGZyYW1lIGdyb3dzIHRvIDE4MzIg
Ynl0ZXMgYW5kIHRyaXBzCi1XZnJhbWUtbGFyZ2VyLXRoYW49MTAyNDoKCiAgZnMvZjJmcy9zZWdt
ZW50LmM6IEluIGZ1bmN0aW9uICdzdWJtaXRfZmx1c2hfd2FpdCc6CiAgZnMvZjJmcy9zZWdtZW50
LmM6NjYxOjE6IHdhcm5pbmc6IHRoZSBmcmFtZSBzaXplIG9mIDE4MzIgYnl0ZXMgaXMKICBsYXJn
ZXIgdGhhbiAxMDI0IGJ5dGVzIFstV2ZyYW1lLWxhcmdlci10aGFuPV0KClNpbmNlIHRoZSBhbGxv
Y2F0aW9uIGlzIHNtYWxsIGFuZCBib3VuZGVkLCBob3cgYWJvdXQga2VlcGluZyBpdCBvbiB0aGUK
aGVhcCBidXQgYWxsb2NhdGluZyBpdCB3aXRoIEdGUF9OT0ZTIHwgX19HRlBfTk9GQUlMLCB3aGlj
aCBjYW5ub3QgZmFpbD8KVGhhdCBzdGlsbCBsZXRzIHVzIGRyb3AgdGhlIHNlcmlhbCBmYWxsYmFj
ayBwYXRoIGVudGlyZWx5OgoKCWZsdXNoX2JpbyA9IGttYWxsb2MoYXJyYXlfc2l6ZShzYmktPnNf
bmRldnMsIHNpemVvZigqZmx1c2hfYmlvKSksCgkJCQlHRlBfTk9GUyB8IF9fR0ZQX05PRkFJTCk7
Cgp2MiB3b3VsZCBhbHNvIGFkZCBSRVFfU1lOQyB0byB0aGUgZmx1c2ggYmlvcyB0byBtYXRjaCB3
aGF0CnN1Ym1pdF9iaW9fd2FpdCgpIHNldHMgaW4gdGhlIHNpbmdsZS1kZXZpY2UgYmxrZGV2X2lz
c3VlX2ZsdXNoKCkgcGF0aC4KPiAKPj4gKwlpZiAoIWZsdXNoX2JpbykKPj4gKwkJcmV0dXJuIHN1
Ym1pdF9mbHVzaF93YWl0X3NlcmlhbChzYmksIGlubyk7Cj4+ICAgCj4+ICAgCWZvciAoaSA9IDA7
IGkgPCBzYmktPnNfbmRldnM7IGkrKykgewo+PiAgIAkJaWYgKCFmMmZzX2lzX2RpcnR5X2Rldmlj
ZShzYmksIGlubywgaSwgRkxVU0hfSU5PKSkKPj4gICAJCQljb250aW51ZTsKPj4gLQkJcmV0ID0g
X19zdWJtaXRfZmx1c2hfd2FpdChzYmksIEZERVYoaSkuYmRldik7Cj4+IC0JCWlmIChyZXQpCj4+
IC0JCQlicmVhazsKPj4gKwo+PiArCQliaW9faW5pdCgmZmx1c2hfYmlvW2ldLmJpbywgRkRFVihp
KS5iZGV2LCBOVUxMLCAwLAo+PiArCQkJIFJFUV9PUF9XUklURSB8IFJFUV9QUkVGTFVTSCk7Cj4+
ICsJCWluaXRfY29tcGxldGlvbigmZmx1c2hfYmlvW2ldLndhaXQpOwo+PiArCQlmbHVzaF9iaW9b
aV0uYmlvLmJpX3ByaXZhdGUgPSAmZmx1c2hfYmlvW2ldLndhaXQ7Cj4+ICsJCWZsdXNoX2Jpb1tp
XS5iaW8uYmlfZW5kX2lvID0gZjJmc19mbHVzaF9lbmRfaW87Cj4+ICsJCXN1Ym1pdF9iaW8oJmZs
dXNoX2Jpb1tpXS5iaW8pOwo+PiArCQlkZXZpY2VzIHw9IEJJVChpKTsKPj4gKwl9Cj4+ICsKPj4g
Kwlmb3IgKGkgPSAwOyBpIDwgc2JpLT5zX25kZXZzOyBpKyspIHsKPj4gKwkJaW50IGVycjsKPj4g
Kwo+PiArCQlpZiAoIShkZXZpY2VzICYgQklUKGkpKSkKPj4gKwkJCWNvbnRpbnVlOwo+PiArCj4+
ICsJCXdhaXRfZm9yX2NvbXBsZXRpb24oJmZsdXNoX2Jpb1tpXS53YWl0KTsKPj4gKwkJZXJyID0g
YmxrX3N0YXR1c190b19lcnJubyhmbHVzaF9iaW9baV0uYmlvLmJpX3N0YXR1cyk7Cj4+ICsJCXRy
YWNlX2YyZnNfaXNzdWVfZmx1c2goRkRFVihpKS5iZGV2LCB0ZXN0X29wdChzYmksIE5PQkFSUklF
UiksCj4+ICsJCQkJICAgICAgIHRlc3Rfb3B0KHNiaSwgRkxVU0hfTUVSR0UpLCBlcnIpOwo+PiAr
CQlpZiAoIWVycikKPj4gKwkJCWYyZnNfdXBkYXRlX2lvc3RhdChzYmksIE5VTEwsIEZTX0ZMVVNI
X0lPLCAwKTsKPj4gKwkJZWxzZSBpZiAoIXJldCkKPj4gKwkJCXJldCA9IGVycjsKPj4gKwkJYmlv
X3VuaW5pdCgmZmx1c2hfYmlvW2ldLmJpbyk7Cj4gCj4gSXQgbWF5IGxlYWsgYmlvIHJlZmVyZW5j
ZSBwcmV2aW91c2x5PyBGb3IgbG9jYWwgYmlvIHZhcmlhYmxlLCB0aGVyZSBpcyBubyBzdWNoIGlz
c3VlLgoKSSBkb24ndCB0aGluayB0aGlzIGxlYWtzOiB0aGUgYmlvcyBhcmUgaW5pdGlhbGl6ZWQg
d2l0aCBiaW9faW5pdCgpIGluc2lkZQp0aGUga2NhbGxvYydlZCBhcnJheSAobm90IHRha2VuIGZy
b20gYSBiaW9zZXQpLCBldmVyeSBzdWJtaXR0ZWQgYmlvIGlzCndhaXRlZCBmb3IgcmlnaHQgaGVy
ZSwgZWFjaCBvbmUgZ2V0cyBiaW9fdW5pbml0KCkgYWZ0ZXIgaXRzIGNvbXBsZXRpb24KaXMgcmVh
cGVkLCBhbmQgdGhlIGFycmF5IGlzIGtmcmVlJ2Qg4oCUIHNvIHRoZXJlIGlzIG5vIHJlZmVyZW5j
ZSBsZWZ0IHRvDQpwdXQuIFRoZSBwb2ludCB3b3VsZCBiZSBtb290IGluIHYyIGFueXdheSBzaW5j
ZSB0aGUgZmFsbGJhY2sgcGF0aCBpcw0KZ29uZS4NCg0KSWYgdGhlIF9fR0ZQX05PRkFJTCBhbHRl
cm5hdGl2ZSBsb29rcyBnb29kIHRvIHlvdSwgSSdsbCBzZW5kIHYyIHRoYXQNCndheS4NCg0KVGhh
bmtzLA0KWW9uZ2dpbA0KPiANCj4gVGhhbmtzLA0KPiANCj4+ICAgCX0NCj4+ICsJa2ZyZWUoZmx1
c2hfYmlvKTsNCj4+ICAgCXJldHVybiByZXQ7DQo+PiAgIH0NCj4+ICAgDQo+PiArc3RhdGljIGlu
dCBzdWJtaXRfZmx1c2hfd2FpdChzdHJ1Y3QgZjJmc19zYl9pbmZvICpzYmksIG5pZF90IGlubykN
Cj4+ICt7DQo+PiArCWlmICghZjJmc19pc19tdWx0aV9kZXZpY2Uoc2JpKSkNCj4+ICsJCXJldHVy
biBfX3N1Ym1pdF9mbHVzaF93YWl0KHNiaSwgc2JpLT5zYi0+c19iZGV2KTsNCj4+ICsNCj4+ICsJ
cmV0dXJuIHN1Ym1pdF9mbHVzaF93YWl0X3BhcmFsbGVsKHNiaSwgaW5vKTsNCj4+ICt9DQo+PiAr
DQo+PiAgIHN0YXRpYyBpbnQgaXNzdWVfZmx1c2hfdGhyZWFkKHZvaWQgKmRhdGEpDQo+PiAgIHsN
Cj4+ICAgCXN0cnVjdCBmMmZzX3NiX2luZm8gKnNiaSA9IGRhdGE7DQo+IA0KPiANCgoKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LWYyZnMtZGV2
ZWwgbWFpbGluZyBsaXN0CkxpbnV4LWYyZnMtZGV2ZWxAbGlzdHMuc291cmNlZm9yZ2UubmV0Cmh0
dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2xpbnV4LWYyZnMtZGV2
ZWwK