aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/power
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2018-07-03 20:13:27 +0200
committerMike Snitzer <snitzer@redhat.com>2018-07-27 15:24:22 -0400
commit724376a04d1a63d145fdfe7b24c0b13128a3ffd6 (patch)
tree517522cfdf4adc4dbc3c4d2487e1d68a592aac23 /drivers/power
parentdm integrity: decouple common code in dm_integrity_map_continue() (diff)
downloadlinux-dev-724376a04d1a63d145fdfe7b24c0b13128a3ffd6.tar.xz
linux-dev-724376a04d1a63d145fdfe7b24c0b13128a3ffd6.zip
dm integrity: implement fair range locks
dm-integrity locks a range of sectors to prevent concurrent I/O or journal writeback. These locks were not fair - so that many small overlapping I/Os could starve a large I/O indefinitely. Fix this by making the range locks fair. The ranges that are waiting are added to the list "wait_list". If a new I/O overlaps some of the waiting I/Os, it is not dispatched, but it is also added to that wait list. Entries on the wait list are processed in first-in-first-out order, so that an I/O can't starve indefinitely. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/power')
0 files changed, 0 insertions, 0 deletions