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>
Showing
- block/Makefile 2 additions, 1 deletionblock/Makefile
- block/bfq-cgroup.c 1139 additions, 0 deletionsblock/bfq-cgroup.c
- block/bfq-iosched.c 170 additions, 3755 deletionsblock/bfq-iosched.c
- block/bfq-iosched.h 942 additions, 0 deletionsblock/bfq-iosched.h
- block/bfq-wf2q.c 1616 additions, 0 deletionsblock/bfq-wf2q.c
Loading
Please register or sign in to comment