Re: [bug report] block: Non-NCQ commands will never be executed while fio is continuously running

From: Damien Le Moal
Date: Mon Sep 09 2024 - 09:21:42 EST


On 9/9/24 22:10, yangxingui wrote:
> 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?

SATA devices are single queue so how can you have multiple queues ?
What adapter are you using ?

--
Damien Le Moal
Western Digital Research