[bug report] block: Non-NCQ commands will never be executed while fio is continuously running
From: yangxingui
Date: Mon Sep 09 2024 - 09:12:28 EST
Hello axboe & John,
After the driver exposes all HW queues to the block layer, non-NCQ
commands will never be executed while fio is continuously running, such
as a smartctl command.
The cause of the problem is that other hctx used by the NCQ command is
still active and can continue to issue NCQ commands to the sata disk.
And the pio command keeps retrying in its corresponding hctx because
qc_defer() always returns true.
hctx0: ncq, pio, ncq
hctx1:ncq, ncq, ...
...
hctxn: ncq, ncq, ...
Is there any good solution for this?
Thanks.
Xingui