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