From ea25da48086d3bbebf3a2eeff387ea00ed96f5c4 Mon Sep 17 00:00:00 2001 From: Paolo Valente Date: Wed, 19 Apr 2017 08:48:24 -0600 Subject: 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 Signed-off-by: Jens Axboe --- block/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'block/Makefile') diff --git a/block/Makefile b/block/Makefile index 4c1d68cb49dd..2b281cf258a0 100644 --- a/block/Makefile +++ b/block/Makefile @@ -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 -- cgit v1.2.3-58-ga151