diff options
| author | Kent Overstreet <[email protected]> | 2022-10-31 20:30:27 -0400 |
|---|---|---|
| committer | Kent Overstreet <[email protected]> | 2023-10-22 17:09:45 -0400 |
| commit | 182c7bbfbfe8d435672b8cb9730b07e88e103670 (patch) | |
| tree | 61238500bdf507fcab5c8d79a5b23d24ec824a0f /tools/perf/scripts/python/exported-sql-viewer.py | |
| parent | 1df3e19996a3b29ed82315bf03cb02ac4e4e70ab (diff) | |
bcachefs: DIO write path optimization
- With BCH_WRITE_SYNC, we no longer need the completion in struct
dio_write
- Pull out bch2_dio_write_copy_iov() into a separate non-inline
function, it's code that doesn't run in the common case
- Copy mapping and inode pointers into dio_write, avoiding pointer
chasing at the start of bch2_dio_write_loop()
- kthread_use_mm() is not needed in the common case; move it into
bch2_dio_write_loop_async()
- factor out various helpers from bch2_dio_write_loop() and rework
control flow for better icache utilization
Other small optimizations:
- bch2_keylist_free() is only used in one place, at the end of the
bch2_write() path - drop the reinit
- in bch2_disk_reservation_put(), check if res->sectors is nonzero
before touching c->online_reserved, since that will likely be a cache
miss
Signed-off-by: Kent Overstreet <[email protected]>
bcachefs: More DIO write path optimization
Better code prefetching (?)
Signed-off-by: Kent Overstreet <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions