diff options
author | Mike Snitzer <snitzer@kernel.org> | 2023-06-14 21:47:46 -0400 |
---|---|---|
committer | Mike Snitzer <snitzer@kernel.org> | 2023-06-15 12:47:16 -0400 |
commit | be04c14a1bd262a49e5764e5cf864259b7e740fd (patch) | |
tree | 27b84bba096a35646dcc8bffedc7c84a7d50e210 /drivers/net/ethernet/intel/igb/igb_main.c | |
parent | 722d90822321497e2837cfc9000202e256e6b32f (diff) |
dm: use op specific max_sectors when splitting abnormal io
Split abnormal IO in terms of the corresponding operation specific
max_sectors (max_discard_sectors, max_secure_erase_sectors or
max_write_zeroes_sectors).
This fixes a significant dm-thinp discard performance regression that
was introduced with commit e2dd8aca2d76 ("dm bio prison v1: improve
concurrent IO performance"). Relative to discard: max_discard_sectors
is used instead of max_sectors; which fixes excessive discard splitting
(e.g. max_sectors=128K vs max_discard_sectors=64M).
Tested by discarding an 1 Petabyte dm-thin device:
lvcreate -V 1125899906842624B -T test/pool -n thin
time blkdiscard /dev/test/thin
Before this fix (splitting discards every 128K): ~116m
After this fix (splitting discards every 64M) : 0m33.460s
Reported-by: Zorro Lang <zlang@redhat.com>
Fixes: 06961c487a33 ("dm: split discards further if target sets max_discard_granularity")
Requires: 13f6facf3fae ("dm: allow targets to require splitting WRITE_ZEROES and SECURE_ERASE")
Fixes: e2dd8aca2d76 ("dm bio prison v1: improve concurrent IO performance")
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/intel/igb/igb_main.c')
0 files changed, 0 insertions, 0 deletions