Since Kernel Linux 6.11.0-400.asahi.fc40.aarch64+16k, changing IO Scheduler from default (mq-deadline) to "none" (for example) is broken.
> cat /sys/block/*/queue/scheduler none [mq-deadline] kyber bfq none [mq-deadline] kyber bfq none [mq-deadline] kyber bfq > echo none | sudo tee /sys/block/nvme0n1/queue/scheduler none tee: ../src/iopoll.c :230 : fwrite_wait: l'assertion « size >= 0 » a échoué. > cat /sys/block/*/queue/scheduler none [mq-deadline] kyber bfq none [mq-deadline] kyber bfq none [mq-deadline] kyber bfq
No problem with kernel Linux 6.10.9-403.asahi.fc40.aarch64+16k.
> cat /sys/block/*/queue/scheduler [none] mq-deadline kyber bfq [none] mq-deadline kyber bfq [none] mq-deadline kyber bfq
Tested on a MacbookPro M2Pro 16".