为什么 Linux 中的多队列块层需要两个队列

Why there is a need of two queues in the multiqueue block layer in Linux

提问人:rsd 提问时间:10/6/2023 更新时间:10/6/2023 访问量:24

问:

  • 我正在尝试了解 Linux 多队列块层的细节。

  • 在论文标题“Linux Block IO:引入多队列 SSD 访问”中提到了它 多核系统“,有两个队列(软件暂存队列和硬件调度队列 ) 在块层中。

  • 我无法理解为什么需要两个队列,即为什么我们需要在块层中“硬件调度队列”(由结构blk_mq_hw_ctx表示)?

  • 为什么仅靠“软件暂存队列”(用blk_mq_ctx表示)是不够的?

我已经阅读了有关多队列块层 (https://docs.kernel.org/block/blk-mq.html) 的 Linux 内核文档,并阅读了论文 (https://kernel.dk/systor13-final18.pdf)。

io linux-内核

评论


答: 暂无答案