mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 19:00:25 +00:00
![Paolo Valente](/assets/img/avatar_default.png)
The BFQ I/O scheduler features an optimal fair-queuing (proportional-share) scheduling algorithm, enriched with several mechanisms to boost throughput and reduce latency for interactive and real-time applications. This makes BFQ a large and complex piece of code. This commit addresses this issue by splitting BFQ into three main, independent components, and by moving each component into a separate source file: 1. Main algorithm: handles the interaction with the kernel, and decides which requests to dispatch; it uses the following two further components to achieve its goals. 2. Scheduling engine (Hierarchical B-WF2Q+ scheduling algorithm): computes the schedule, using weights and budgets provided by the above component. 3. cgroups support: handles group operations (creation, destruction, move, ...). Signed-off-by: Paolo Valente <paolo.valente@linaro.org> Signed-off-by: Jens Axboe <axboe@fb.com>
35 lines
1.4 KiB
Makefile
35 lines
1.4 KiB
Makefile
#
|
|
# Makefile for the kernel block layer
|
|
#
|
|
|
|
obj-$(CONFIG_BLOCK) := bio.o elevator.o blk-core.o blk-tag.o blk-sysfs.o \
|
|
blk-flush.o blk-settings.o blk-ioc.o blk-map.o \
|
|
blk-exec.o blk-merge.o blk-softirq.o blk-timeout.o \
|
|
blk-lib.o blk-mq.o blk-mq-tag.o blk-stat.o \
|
|
blk-mq-sysfs.o blk-mq-cpumap.o blk-mq-sched.o ioctl.o \
|
|
genhd.o partition-generic.o ioprio.o \
|
|
badblocks.o partitions/
|
|
|
|
obj-$(CONFIG_BOUNCE) += bounce.o
|
|
obj-$(CONFIG_BLK_SCSI_REQUEST) += scsi_ioctl.o
|
|
obj-$(CONFIG_BLK_DEV_BSG) += bsg.o
|
|
obj-$(CONFIG_BLK_DEV_BSGLIB) += bsg-lib.o
|
|
obj-$(CONFIG_BLK_CGROUP) += blk-cgroup.o
|
|
obj-$(CONFIG_BLK_DEV_THROTTLING) += blk-throttle.o
|
|
obj-$(CONFIG_IOSCHED_NOOP) += noop-iosched.o
|
|
obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o
|
|
obj-$(CONFIG_IOSCHED_CFQ) += cfq-iosched.o
|
|
obj-$(CONFIG_MQ_IOSCHED_DEADLINE) += mq-deadline.o
|
|
obj-$(CONFIG_MQ_IOSCHED_KYBER) += kyber-iosched.o
|
|
bfq-y := bfq-iosched.o bfq-wf2q.o bfq-cgroup.o
|
|
obj-$(CONFIG_IOSCHED_BFQ) += bfq.o
|
|
|
|
obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o
|
|
obj-$(CONFIG_BLK_CMDLINE_PARSER) += cmdline-parser.o
|
|
obj-$(CONFIG_BLK_DEV_INTEGRITY) += bio-integrity.o blk-integrity.o t10-pi.o
|
|
obj-$(CONFIG_BLK_MQ_PCI) += blk-mq-pci.o
|
|
obj-$(CONFIG_BLK_MQ_VIRTIO) += blk-mq-virtio.o
|
|
obj-$(CONFIG_BLK_DEV_ZONED) += blk-zoned.o
|
|
obj-$(CONFIG_BLK_WBT) += blk-wbt.o
|
|
obj-$(CONFIG_BLK_DEBUG_FS) += blk-mq-debugfs.o
|
|
obj-$(CONFIG_BLK_SED_OPAL) += sed-opal.o
|