blk-mq: new multi-queue block IO queueing mechanism

Linux currently has two models for block devices:

  • The classic request_fn based approach, where drivers use struct request units for IO. The block layer provides various helper functionalities to let drivers share code, things like tag management, timeout handling, queueing, etc.

  • The "stacked …

more ...