¿Cómo habilitar y usar el progtwigdor BFQ?

Acabo de instalar Linux kernel versión 4.12 en Ubuntu 17.04 usando ukuu (Ubuntu Kernel Update Utility https://doc.ubuntu-fr.org/ubuntu_kernel_upgrade_utility ).

El problema es que cuando consulto los progtwigdores de E / S disponibles, parece que no puedo encontrar el BFQ ni el progtwigdor de E / S Kyber:

cat /sys/class/block/sda/queue/scheduler > noop deadline [cfq] 

Entonces, ¿cómo usar uno de los nuevos progtwigdores en esta versión de Linux?

Solutions Collecting From Web of "¿Cómo habilitar y usar el progtwigdor BFQ?"

No estoy en Ubuntu, pero lo que hice en Fedora puede ayudarte.

BFQ es un planificador blk-mq (Mecanismo de queue IO de bloques múltiples), por lo que debe habilitar blk-mq en el momento del arranque, editar su file / etc / default / grub y agregar scsi_mod.use_blk_mq=1 a su GRUB_CMDLINE_LINUX , esto es mi file grub, como un ejemplo:

 GRUB_TIMEOUT=3 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=false GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="quiet vt.global_cursor_default=0 scsi_mod.use_blk_mq=1 GRUB_DISABLE_RECOVERY="true" 

Después de eso, debes actualizar tu grub, si no estoy equivocado, en Ubuntu es:

 sudo update-grub 

Reinicia, y si obtienes esto:

 cat /sys/block/sda/queue/scheduler [mq-deadline] none 

Probablemente su kernel fue comstackdo con BFQ como un module , y este también puede ser el caso de Kyber.

 sudo modprobe bfq sudo cat /sys/block/sda/queue/scheduler [mq-deadline] bfq none 

Puede agregarlo en el momento de arranque agregando un file /etc/modules-load.d/bfq.conf que contenga bfq .

Es importante tener en count que habilitar blk_mq hace que sea imposible usar planificadores non blk_mq, por lo que perderá noop cfq y la date límite no mq

Aparentemente, el sistema de progtwigción blk_mq no admite banderas de ascensor en grub, las reglas de udev pueden usarse en su lugar, con la ventaja de ofrecer un control más detallado.

Cree /etc/udev/rules.d/60-scheduler.rules si no existiera y agregue:

 ACTION=="add|change", KERNEL=="sd*[!0-9]|sr*", ATTR{queue/scheduler}="bfq" 

Guárdelo, y vuelva a cargar y active las udev rules :

 sudo udevadm control --reload sudo udevadm trigger