https://dl.acm.org/doi/abs/10.1145/2485732.2485740
single queue(left) & multi queue(right)
Linux kernel 4.4.1
- package install
sudo apt-get update
sudo apt-get install build-essential libncurses5 libncurses5-dev bin86 kernel-package libssl-dev bison flex libelf-dev dwarves
sudo reboot
- kernel build
sudo wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.tar.xz
sudo tar -xvf linux-4.4.tar.xz
sudo mv linux-4.4.tar.xz /usr/src/
#config
sudo cp linux-headers-5.11.0-41-generic/.config linux-4.4.tar.xz
sudo vi .config
//CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem" -> CONFIG_SYSTEM_TRUSTED_KEYS = ""
//CONFIG_SYSTEM_REVOCATION_KEYS="debian/canonical-certs.pem" -> CONFIG_SYSTEM_REVOCATION_KEYS=""
sudo make menuconfig
#load → ok → exit → yes
grep -c processor /proc/cpuinfo
sudo make -j(cpuinfo)
sudo make modules_install
sudo make install
#set boot kernel
sudo vi /boot/grub/grub.cfg
sudo vi /etc/default/grub
- module install
#makefile
make
insmod mybrd.ko
- Test (example)
fio --filename=/dev/sqbrd --direct=0 --ioengine=libaio --numjobs=512 --iodepth=32 --rw=randread --bs=4k --size=16G --runtime=60 --time_based --group_reporting --name=brdtest
fio --filename=/dev/mqbrd --direct=0 --ioengine=libaio --numjobs=512 --iodepth=32 --rw=randread --bs=4k --size=16G --runtime=60 --time_based --group_reporting --name=brdtest