Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Documentation/block/00-INDEX
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
00-INDEX
- This file
bfq-iosched.txt
- BFQ IO scheduler and its tunables
biodoc.txt
- Notes on the Generic Block Layer Rewrite in Linux 2.5
biovecs.txt
Expand Down
530 changes: 530 additions & 0 deletions Documentation/block/bfq-iosched.txt

Large diffs are not rendered by default.

7 changes: 5 additions & 2 deletions arch/arm64/configs/exynos9810_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -348,9 +348,12 @@ CONFIG_BLK_MQ_PCI=y
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_CFQ is not set
CONFIG_BFQ_GROUP_IOSCHED=y
CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_DEFAULT=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_DEFAULT_IOSCHED="bfq"
CONFIG_ASN1=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
Expand Down
30 changes: 30 additions & 0 deletions block/Kconfig.iosched
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,25 @@ config CFQ_GROUP_IOSCHED
default n
---help---
Enable group IO scheduling in CFQ.

config IOSCHED_BFQ
tristate "BFQ I/O scheduler"
default n
---help---
The BFQ I/O scheduler distributes bandwidth among all
processes according to their weights, regardless of the
device parameters and with any workload. It also guarantees
a low latency to interactive and soft real-time applications.
Details in Documentation/block/bfq-iosched.txt

config BFQ_GROUP_IOSCHED
bool "BFQ hierarchical scheduling support"
depends on IOSCHED_BFQ && BLK_CGROUP
default n
---help---

Enable hierarchical scheduling in BFQ, using the blkio
(cgroups-v1) or io (cgroups-v2) controller.

choice
prompt "Default I/O scheduler"
Expand All @@ -51,6 +70,16 @@ choice

config DEFAULT_CFQ
bool "CFQ" if IOSCHED_CFQ=y

config DEFAULT_BFQ
bool "BFQ" if IOSCHED_BFQ=y
help
Selects BFQ as the default I/O scheduler which will be
used by default for all block devices.
The BFQ I/O scheduler aims at distributing the bandwidth
as desired, independently of the disk parameters and with
any workload. It also tries to guarantee low latency to
interactive and soft real-time applications.

config DEFAULT_NOOP
bool "No-op"
Expand All @@ -61,6 +90,7 @@ config DEFAULT_IOSCHED
string
default "deadline" if DEFAULT_DEADLINE
default "cfq" if DEFAULT_CFQ
default "bfq" if DEFAULT_BFQ
default "noop" if DEFAULT_NOOP

endmenu
Expand Down
1 change: 1 addition & 0 deletions block/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ 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_IOSCHED_BFQ) += bfq-iosched.o

obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o
obj-$(CONFIG_BLK_CMDLINE_PARSER) += cmdline-parser.o
Expand Down
Loading