[PATCHSET 0/3] blk-mq-sched and sbitmap shallow depth

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mike has been running into an issue with BFQ, where things grind
to a halt. This is because of how BFQ limits the shallow depth. If
it ends up limiting it to something low that is smaller than the
wake batch sizing for sbitmap, we can run into cases where we
never wake up folks waiting for a tag. The end result is an idle
system with no IO pending, but with tasks waiting for a tag with
no one to wake them up. Kyber could run into the same issue, if
the async depth is limited low enough.

This patchset adds a helper to inform sbitmap about shallow depth
limiting, and handles this from blk-mq-sched.

 block/bfq-iosched.c      |   13 ++++++++++---
 block/blk-mq-sched.c     |   26 ++++++++++++++++++++++++++
 block/blk-mq-sched.h     |    3 +++
 block/blk-mq.c           |    8 +-------
 block/kyber-iosched.c    |   14 ++++++++++----
 include/linux/elevator.h |    2 +-
 include/linux/sbitmap.h  |   11 +++++++++++
 lib/sbitmap.c            |   17 ++++++++++++++++-
 8 files changed, 78 insertions(+), 16 deletions(-)

-- 
Jens Axboe





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux