]> www.infradead.org Git - users/jedix/linux-maple.git/commit
dm-verity: support block number limits for different ioprio classes
authorLongPing Wei <weilongping@oppo.com>
Thu, 27 Mar 2025 02:18:19 +0000 (10:18 +0800)
committerMikulas Patocka <mpatocka@redhat.com>
Fri, 28 Mar 2025 10:32:55 +0000 (11:32 +0100)
commit5c5d0d7050286e14a6ca18b8d77fc7a34f701206
tree2eae906a65550d18e2e571ab4100110f883a52e2
parentd43929ef65a60b4c44a5f85cdce826c4e33a67d3
dm-verity: support block number limits for different ioprio classes

Calling verity_verify_io in bh for IO of all sizes is not suitable for
embedded devices. From our tests, it can improve the performance of 4K
synchronise random reads.
For example:
./fio --name=rand_read --ioengine=psync --rw=randread --bs=4K \
 --direct=1 --numjobs=8 --runtime=60 --time_based --group_reporting \
 --filename=/dev/block/mapper/xx-verity

But it will degrade the performance of 512K synchronise sequential reads
on our devices.
For example:
./fio --name=read --ioengine=psync --rw=read --bs=512K --direct=1 \
 --numjobs=8 --runtime=60 --time_based --group_reporting \
 --filename=/dev/block/mapper/xx-verity

A parameter array is introduced by this change. And users can modify the
default config by /sys/module/dm_verity/parameters/use_bh_bytes.

The default limits for NONE/RT/BE is set to 8192.
The default limits for IDLE is set to 0.

Call verity_verify_io directly when verity_end_io is not in hardirq.

Signed-off-by: LongPing Wei <weilongping@oppo.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Documentation/admin-guide/device-mapper/verity.rst
drivers/md/dm-verity-target.c