[PATCH] RFC: kernel: Remove CFQ activate BFQ

Fusion qydwhotmail at gmail.com
Wed Apr 14 13:00:56 BST 2021


Shoud it be provided as an option to use bfq scheduler? Rrouters do not 
involve many I/O operations so I guess mq-deadline is enough.
Reference: 
https://github.com/NoTengoBattery/openwrt-mt7621/commit/a2385cd792542da38c90a0718e9a7952f848ecba

> The CFQ IO scheduler is deleted from the Linux kernel
> since commit f382fb0bcef4c37dc049e9f6963e3baf204d815c
> "block: remove legacy IO schedulers".
> 
> The new multiqueue block layer has an IO scheduler named
> BFQ (Budget Fair Queue) that is suitable for slow
> single-queue block devices such as (S)ATA harddrives,
> flash memories, MMC/SD cards and USB dongles, so activate
> that instead.
> 
> To actually use BFQ by default distributions such as
> Fedora uses this (/lib/udev/rules.d/60-block-scheduler.rules):
> 
> ACTION=="add", SUBSYSTEM=="block", \
>    KERNEL=="mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|sd*[!0-9]|sr*", \
>    ATTR{queue/scheduler}="bfq"
> 
> We are not using udev so we need a similar rule in a
> similar patch for procd, or we can patch the kernel to
> use BFQ by default if we do not expect people to use
> OpenWRT with enterprise storage arrays.
> 
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
> This patch is more of an RFC, I am in contact with the
> author of BFQ if we need to discuss its applicability for
> OpenWRT targets. I can make a kernel patch to make BFQ
> the default IO scheduler as well.
> ---
>   target/linux/generic/config-5.10 | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/target/linux/generic/config-5.10 b/target/linux/generic/config-5.10
> index 120d1d8c3f4a..fda3ef301dde 100644
> --- a/target/linux/generic/config-5.10
> +++ b/target/linux/generic/config-5.10
> @@ -2601,8 +2601,7 @@ CONFIG_INPUT_MISC=y
>   # CONFIG_INV_MPU6050_SPI is not set
>   # CONFIG_IOMMU_SUPPORT is not set
>   # CONFIG_IONIC is not set
> -# CONFIG_IOSCHED_BFQ is not set
> -# CONFIG_IOSCHED_CFQ is not set
> +CONFIG_IOSCHED_BFQ=y
>   CONFIG_IOSCHED_DEADLINE=y
>   CONFIG_IOSCHED_NOOP=y
>   CONFIG_IO_STRICT_DEVMEM=y
> 



More information about the openwrt-devel mailing list