Commit f6c8051
committed
[btrfs] add btrfs-specific
Add a knob for the btrfs-specific `bdi/read_ahead_kb`. If my
understanding is correct, this value is the upper limit of the btrfs
read-ahead of the _underlying file_.
Confusingly, this option is not related to
`/sys/block/sdX/queue/read_ahead_kb`, which is what controls the
read-ahead of the block device (regardless of what's in there). The
current `read_ahead_kb` "special" mount option configures the value of
the block device.
The default `bdi/read_ahead_kb` is 4MiB (on all the systems I've
checked). Ext4 does not have this option and relies on the block-device
specific readahead, which is 128KiB (again, on all the systems I've
checked). After migrating to btrfs we have experienced a notable write
amplification and tracked to this setting. Once we changed
`bdi/read_ahead_kb` to 128, our IO utilization (and the properties of
the underlying workload) became very similar to the one of ext4.
Now that we have 3 btrfs-specific "special" mount options, I refactored
the code and tests to make it less repetitive.bdi/read_ahead_kb
1 parent 28c34d4 commit f6c8051
File tree
4 files changed
+88
-66
lines changed- pkg/gce-pd-csi-driver
4 files changed
+88
-66
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
101 | | - | |
| 101 | + | |
102 | 102 | | |
103 | | - | |
104 | | - | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
105 | 106 | | |
106 | | - | |
| 107 | + | |
107 | 108 | | |
108 | 109 | | |
109 | 110 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
| 127 | + | |
127 | 128 | | |
128 | 129 | | |
129 | 130 | | |
130 | 131 | | |
131 | 132 | | |
132 | 133 | | |
| 134 | + | |
133 | 135 | | |
134 | 136 | | |
135 | 137 | | |
| |||
402 | 404 | | |
403 | 405 | | |
404 | 406 | | |
405 | | - | |
| 407 | + | |
406 | 408 | | |
407 | 409 | | |
408 | 410 | | |
| |||
418 | 420 | | |
419 | 421 | | |
420 | 422 | | |
421 | | - | |
| 423 | + | |
422 | 424 | | |
423 | 425 | | |
424 | 426 | | |
| |||
465 | 467 | | |
466 | 468 | | |
467 | 469 | | |
468 | | - | |
| 470 | + | |
469 | 471 | | |
470 | 472 | | |
471 | 473 | | |
472 | 474 | | |
473 | 475 | | |
474 | 476 | | |
475 | | - | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
476 | 483 | | |
477 | | - | |
478 | 484 | | |
479 | | - | |
| 485 | + | |
480 | 486 | | |
481 | 487 | | |
482 | | - | |
483 | | - | |
484 | | - | |
485 | | - | |
486 | | - | |
487 | | - | |
488 | | - | |
489 | | - | |
490 | | - | |
491 | | - | |
492 | | - | |
493 | | - | |
494 | | - | |
495 | | - | |
496 | | - | |
497 | | - | |
498 | | - | |
499 | | - | |
500 | | - | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
501 | 491 | | |
502 | | - | |
503 | | - | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
508 | 514 | | |
| 515 | + | |
509 | 516 | | |
510 | 517 | | |
511 | 518 | | |
| |||
526 | 533 | | |
527 | 534 | | |
528 | 535 | | |
529 | | - | |
530 | 536 | | |
531 | 537 | | |
532 | 538 | | |
| |||
546 | 552 | | |
547 | 553 | | |
548 | 554 | | |
549 | | - | |
550 | | - | |
| 555 | + | |
| 556 | + | |
551 | 557 | | |
552 | 558 | | |
553 | 559 | | |
554 | 560 | | |
555 | 561 | | |
| 562 | + | |
| 563 | + | |
556 | 564 | | |
557 | 565 | | |
558 | | - | |
| 566 | + | |
559 | 567 | | |
560 | 568 | | |
561 | 569 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
625 | 626 | | |
626 | 627 | | |
627 | 628 | | |
628 | | - | |
629 | | - | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
630 | 638 | | |
631 | | - | |
632 | | - | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
633 | 642 | | |
634 | 643 | | |
635 | 644 | | |
636 | | - | |
637 | | - | |
638 | | - | |
| 645 | + | |
| 646 | + | |
639 | 647 | | |
640 | 648 | | |
641 | 649 | | |
| |||
653 | 661 | | |
654 | 662 | | |
655 | 663 | | |
| 664 | + | |
656 | 665 | | |
657 | 666 | | |
658 | 667 | | |
| |||
907 | 916 | | |
908 | 917 | | |
909 | 918 | | |
910 | | - | |
| 919 | + | |
911 | 920 | | |
912 | 921 | | |
913 | 922 | | |
| |||
918 | 927 | | |
919 | 928 | | |
920 | 929 | | |
| 930 | + | |
921 | 931 | | |
922 | 932 | | |
923 | 933 | | |
| |||
931 | 941 | | |
932 | 942 | | |
933 | 943 | | |
| 944 | + | |
934 | 945 | | |
935 | 946 | | |
936 | 947 | | |
| |||
1256 | 1267 | | |
1257 | 1268 | | |
1258 | 1269 | | |
1259 | | - | |
| 1270 | + | |
1260 | 1271 | | |
1261 | 1272 | | |
1262 | 1273 | | |
1263 | | - | |
1264 | | - | |
1265 | | - | |
1266 | | - | |
1267 | | - | |
1268 | | - | |
1269 | | - | |
1270 | | - | |
1271 | | - | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
1272 | 1278 | | |
1273 | | - | |
1274 | | - | |
1275 | | - | |
| 1279 | + | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + | |
| 1283 | + | |
| 1284 | + | |
| 1285 | + | |
1276 | 1286 | | |
1277 | | - | |
| 1287 | + | |
1278 | 1288 | | |
1279 | | - | |
1280 | | - | |
| 1289 | + | |
| 1290 | + | |
1281 | 1291 | | |
| 1292 | + | |
1282 | 1293 | | |
1283 | 1294 | | |
1284 | 1295 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
306 | 306 | | |
307 | 307 | | |
308 | 308 | | |
| 309 | + | |
| 310 | + | |
309 | 311 | | |
310 | | - | |
311 | | - | |
312 | 312 | | |
313 | 313 | | |
314 | | - | |
315 | 314 | | |
316 | 315 | | |
317 | 316 | | |
318 | 317 | | |
319 | 318 | | |
320 | 319 | | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
321 | 323 | | |
322 | 324 | | |
323 | 325 | | |
| |||
0 commit comments