Почему ты считаешь, что от спдк на практике мало толку?
Потому что отдельная поддержка нужна, апи не особо удобные, плюс это polling, т.е надо жрать 100% CPU и неудобно это интегрировать с eventloop-ом. Плюс на самом деле и тормоза оно убирает не так хорошо. Эффективность у io_uring считай такая же. То же самое с DPDK, кстати. Я потестил F-Stack + DPDK и получил латенси ХУЖЕ, чем через ядро. То есть в каких-то узких применениях м.б и катит. Конкретно для DPDK это условно кейс DPI/генератора трафика или чего-то еще такого, в общем, где нужно ПСП, но не задержка. С SPDK думаю в чем-то похоже - если узкий кейс, когда софт работает только с диском, то может и будет профит. Правда есть какие-то извраты типа qemu+spdk через какой-то отдельный поток, но применение, опять же, крайне ограничено + жор CPU + все равно переключения контекста + недавно была статья про io_uring passthrough (новое, экспериментальное нечто) и оно там оказалось лучше этого SPDK