Commit 8648de2
f2fs: add bio cache for IPU
SQLite in Wal mode may trigger sequential IPU write in db-wal file, after
commit d1b3e72 ("f2fs: submit bio of in-place-update pages"), we
lost the chance of merging page in inner managed bio cache, result in
submitting more small-sized IO.
So let's add temporary bio in writepages() to cache mergeable write IO as
much as possible.
Test case:
1. xfs_io -f /mnt/f2fs/file -c "pwrite 0 65536" -c "fsync"
2. xfs_io -f /mnt/f2fs/file -c "pwrite 0 65536" -c "fsync"
Before:
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65544, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65552, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65560, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65568, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65576, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65584, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65592, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65600, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65608, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65616, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65624, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65632, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65640, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65648, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65656, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65664, size = 4096
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), NODE, sector = 57352, size = 4096
After:
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), DATA, sector = 65544, size = 65536
f2fs_submit_write_bio: dev = (251,0)/(251,0), rw = WRITE(S), NODE, sector = 57368, size = 4096
Signed-off-by: Chao Yu <[email protected]>
Signed-off-by: Jaegeuk Kim <[email protected]>1 parent 49dd883 commit 8648de2
3 files changed
+86
-10
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
347 | 347 | | |
348 | 348 | | |
349 | 349 | | |
350 | | - | |
| 350 | + | |
351 | 351 | | |
352 | 352 | | |
353 | 353 | | |
354 | 354 | | |
355 | 355 | | |
356 | 356 | | |
357 | | - | |
| 357 | + | |
358 | 358 | | |
359 | 359 | | |
360 | 360 | | |
361 | 361 | | |
362 | 362 | | |
363 | | - | |
| 363 | + | |
364 | 364 | | |
365 | 365 | | |
366 | 366 | | |
| |||
411 | 411 | | |
412 | 412 | | |
413 | 413 | | |
414 | | - | |
| 414 | + | |
415 | 415 | | |
416 | 416 | | |
417 | 417 | | |
| |||
481 | 481 | | |
482 | 482 | | |
483 | 483 | | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
484 | 539 | | |
485 | 540 | | |
486 | 541 | | |
| |||
1947 | 2002 | | |
1948 | 2003 | | |
1949 | 2004 | | |
| 2005 | + | |
| 2006 | + | |
1950 | 2007 | | |
1951 | 2008 | | |
1952 | 2009 | | |
| |||
1972 | 2029 | | |
1973 | 2030 | | |
1974 | 2031 | | |
| 2032 | + | |
| 2033 | + | |
1975 | 2034 | | |
1976 | 2035 | | |
1977 | 2036 | | |
| |||
2070 | 2129 | | |
2071 | 2130 | | |
2072 | 2131 | | |
2073 | | - | |
| 2132 | + | |
| 2133 | + | |
2074 | 2134 | | |
| 2135 | + | |
2075 | 2136 | | |
2076 | 2137 | | |
| 2138 | + | |
2077 | 2139 | | |
2078 | 2140 | | |
2079 | 2141 | | |
| |||
2100 | 2162 | | |
2101 | 2163 | | |
2102 | 2164 | | |
2103 | | - | |
| 2165 | + | |
2104 | 2166 | | |
2105 | 2167 | | |
2106 | 2168 | | |
| |||
2116 | 2178 | | |
2117 | 2179 | | |
2118 | 2180 | | |
| 2181 | + | |
| 2182 | + | |
2119 | 2183 | | |
2120 | 2184 | | |
2121 | 2185 | | |
| |||
2192 | 2256 | | |
2193 | 2257 | | |
2194 | 2258 | | |
2195 | | - | |
| 2259 | + | |
2196 | 2260 | | |
2197 | 2261 | | |
2198 | | - | |
| 2262 | + | |
| 2263 | + | |
2199 | 2264 | | |
| 2265 | + | |
2200 | 2266 | | |
2201 | 2267 | | |
2202 | 2268 | | |
2203 | 2269 | | |
2204 | 2270 | | |
2205 | | - | |
| 2271 | + | |
| 2272 | + | |
2206 | 2273 | | |
2207 | 2274 | | |
2208 | 2275 | | |
| |||
2251 | 2318 | | |
2252 | 2319 | | |
2253 | 2320 | | |
| 2321 | + | |
| 2322 | + | |
| 2323 | + | |
2254 | 2324 | | |
2255 | 2325 | | |
2256 | 2326 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1052 | 1052 | | |
1053 | 1053 | | |
1054 | 1054 | | |
| 1055 | + | |
| 1056 | + | |
1055 | 1057 | | |
1056 | 1058 | | |
1057 | 1059 | | |
| |||
3169 | 3171 | | |
3170 | 3172 | | |
3171 | 3173 | | |
| 3174 | + | |
3172 | 3175 | | |
3173 | 3176 | | |
3174 | 3177 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3202 | 3202 | | |
3203 | 3203 | | |
3204 | 3204 | | |
3205 | | - | |
| 3205 | + | |
| 3206 | + | |
| 3207 | + | |
| 3208 | + | |
3206 | 3209 | | |
3207 | 3210 | | |
3208 | 3211 | | |
| |||
0 commit comments