Skip to content

Commit c00f8c6

Browse files
firelzrdkakra
authored andcommitted
ADIOS: Backport linux6.19-rc1-ADIOS-3.1.7
ADIOS (Adaptive Deadline I/O Scheduler) is a block layer I/O scheduler for the Linux kernel, designed for modern multi-queue block devices (blk-mq). It aims to provide low latency for I/O operations by combining deadline scheduling principles with a learning-based adaptive latency control mechanism. Link: https://github.com/firelzrd/adios Signed-off-by: Kai Krakow <kai@kaishome.de>
1 parent fbcf49c commit c00f8c6

File tree

4 files changed

+2035
-2
lines changed

4 files changed

+2035
-2
lines changed

block/Kconfig.iosched

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,20 @@ config MQ_IOSCHED_KYBER
1616
synchronous writes, it will self-tune queue depths to achieve that
1717
goal.
1818

19+
config MQ_IOSCHED_ADIOS
20+
tristate "Adaptive Deadline I/O scheduler"
21+
default m
22+
help
23+
The Adaptive Deadline I/O Scheduler (ADIOS) is a multi-queue I/O
24+
scheduler with learning-based adaptive latency control.
25+
26+
config MQ_IOSCHED_DEFAULT_ADIOS
27+
bool "Enable ADIOS I/O scheduler as default MQ I/O scheduler"
28+
depends on MQ_IOSCHED_ADIOS=y
29+
default n
30+
help
31+
Enable the ADIOS I/O scheduler as the default scheduler for MQ I/O.
32+
1933
config IOSCHED_BFQ
2034
tristate "BFQ I/O scheduler"
2135
select BLK_ICQ

block/Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ obj-$(CONFIG_BLK_CGROUP_IOLATENCY) += blk-iolatency.o
2222
obj-$(CONFIG_BLK_CGROUP_IOCOST) += blk-iocost.o
2323
obj-$(CONFIG_MQ_IOSCHED_DEADLINE) += mq-deadline.o
2424
obj-$(CONFIG_MQ_IOSCHED_KYBER) += kyber-iosched.o
25+
obj-$(CONFIG_MQ_IOSCHED_ADIOS) += adios.o
2526
bfq-y := bfq-iosched.o bfq-wf2q.o bfq-cgroup.o
2627
obj-$(CONFIG_IOSCHED_BFQ) += bfq.o
2728

@@ -36,3 +37,10 @@ obj-$(CONFIG_BLK_INLINE_ENCRYPTION) += blk-crypto.o blk-crypto-profile.o \
3637
blk-crypto-sysfs.o
3738
obj-$(CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK) += blk-crypto-fallback.o
3839
obj-$(CONFIG_BLOCK_HOLDER_DEPRECATED) += holder.o
40+
41+
all:
42+
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
43+
44+
clean:
45+
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
46+

0 commit comments

Comments
 (0)