linux/block
Shaohua Li aec242468c blk-throttle: detect completed idle cgroup
cgroup could be assigned a limit, but doesn't dispatch enough IO, eg the
cgroup is idle. When this happens, the cgroup doesn't hit its limit, so
we can't move the state machine to higher level and all cgroups will be
throttled to their lower limit, so we waste bandwidth. Detecting idle
cgroup is hard. This patch handles a simple case, a cgroup doesn't
dispatch any IO. We ignore such cgroup's limit, so other cgroups can use
the bandwidth.

Please note this will be replaced with a more sophisticated algorithm
later, but this demonstrates the idea how we handle idle cgroups, so I
leave it here.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2017-03-28 08:02:20 -06:00
..
partitions
badblocks.c
bio-integrity.c
bio.c block: make nr_iovecs unsigned in bio_alloc_bioset() 2017-03-23 08:16:11 -06:00
blk-cgroup.c
blk-core.c block: fix stacked driver stats init and free 2017-03-21 17:20:01 -06:00
blk-exec.c
blk-flush.c block: remove outdated part of blkdev_issue_flush() comment 2017-03-24 15:41:30 -06:00
blk-integrity.c block: constify struct blk_integrity_profile 2017-03-24 20:34:39 -06:00
blk-ioc.c
blk-lib.c block: correct documentation for blkdev_issue_discard() flags 2017-03-24 15:41:28 -06:00
blk-map.c
blk-merge.c
blk-mq-cpumap.c
blk-mq-debugfs.c blk-stat: convert to callback-based statistics reporting 2017-03-21 10:03:11 -06:00
blk-mq-pci.c
blk-mq-sched.c
blk-mq-sched.h
blk-mq-sysfs.c
blk-mq-tag.c blk-mq: Fix tagset reinit in the presence of cpu hot-unplug 2017-03-13 08:14:23 -06:00
blk-mq-tag.h
blk-mq-virtio.c
blk-mq.c blk-mq: streamline blk_mq_make_request 2017-03-22 20:17:03 -06:00
blk-mq.h blk-stat: convert to callback-based statistics reporting 2017-03-21 10:03:11 -06:00
blk-settings.c
blk-softirq.c
blk-stat.c block: fix stacked driver stats init and free 2017-03-21 17:20:01 -06:00
blk-stat.h blk-stat: convert to callback-based statistics reporting 2017-03-21 10:03:11 -06:00
blk-sysfs.c blk-throttle: choose a small throtl_slice for SSD 2017-03-28 08:02:20 -06:00
blk-tag.c
blk-throttle.c blk-throttle: detect completed idle cgroup 2017-03-28 08:02:20 -06:00
blk-timeout.c
blk-wbt.c blk-stat: convert to callback-based statistics reporting 2017-03-21 10:03:11 -06:00
blk-wbt.h blk-stat: convert to callback-based statistics reporting 2017-03-21 10:03:11 -06:00
blk-zoned.c
blk.h blk-throttle: choose a small throtl_slice for SSD 2017-03-28 08:02:20 -06:00
bounce.c
bsg-lib.c
bsg.c
cfq-iosched.c
cmdline-parser.c
compat_ioctl.c
deadline-iosched.c
elevator.c
genhd.c block: Fix oops scsi_disk_get() 2017-03-22 20:11:37 -06:00
ioctl.c
ioprio.c
Kconfig blk-throttle: add configure option for new .low interface 2017-03-28 08:02:20 -06:00
Kconfig.iosched
Makefile
mq-deadline.c
noop-iosched.c
opal_proto.h
partition-generic.c
scsi_ioctl.c
sed-opal.c
t10-pi.c block: constify struct blk_integrity_profile 2017-03-24 20:34:39 -06:00