mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
block, bfq: split bfq-iosched.c into multiple source files
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>
This commit is contained in:
committed by
Jens Axboe
parent
6fa3e8d342
commit
ea25da4808
@@ -21,7 +21,8 @@ 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
|
||||
obj-$(CONFIG_IOSCHED_BFQ) += bfq-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
|
||||
|
||||
1139
block/bfq-cgroup.c
Normal file
1139
block/bfq-cgroup.c
Normal file
File diff suppressed because it is too large
Load Diff
3663
block/bfq-iosched.c
3663
block/bfq-iosched.c
File diff suppressed because it is too large
Load Diff
942
block/bfq-iosched.h
Normal file
942
block/bfq-iosched.h
Normal file
File diff suppressed because it is too large
Load Diff
1616
block/bfq-wf2q.c
Normal file
1616
block/bfq-wf2q.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user