[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <129e1e4b-426f-3d5b-b95c-d386c90cfe06@huawei.com>
Date: Tue, 10 Sep 2024 09:09:16 +0800
From: yangxingui <yangxingui@...wei.com>
To: Damien Le Moal <dlemoal@...nel.org>, <axboe@...nel.dk>, John Garry
<john.g.garry@...cle.com>
CC: <linux-block@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<James.Bottomley@...senPartnership.com>, "Martin K. Petersen"
<martin.petersen@...cle.com>, <damien.lemoal@...nsource.wdc.com>
Subject: Re: [bug report] block: Non-NCQ commands will never be executed while
fio is continuously running
On 2024/9/9 21:21, Damien Le Moal wrote:
> 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 ?
In the following patch, we expose the host's 16 hardware queues to the
block layer. And when connecting to a sata disk, 16 hctx are used.
8d98416a55eb ("scsi: hisi_sas: Switch v3 hw to MQ")
Thanks,
Xingui
.
Powered by blists - more mailing lists