Re: [PATCH RFC v7 12/12] hpsa: enable host_tagset and switch to MQ

John Garry
2020-07-14T10:54:43Z

>
> In my machine, there are 32 queues(32 cpu cores), each queue has 1013
> tags, so there can be 32*1013 requests coming from block layer, meantime
> smartpqi can only handles 1013 requests. I guess it isn't hard to
> trigger softlock by running heavy/concurrent smartpqi IO.

Since pqi_alloc_io_request() does not use spinlock, disable preemption,
etc., so I guess that there is more of a chance of simply IO timeout.

But I see in pqi_get_physical_disk_info() that there is some
intelligence to set the queue depth, which may reduce chance of timeout
(by reducing disk queue depth). Not sure.

>
>>
>> And the point of this patchset is exactly that the block layer will only
>> send up to 'can_queue' requests, irrespective on how many hardware
>> queues are present.
>
> That is only true for shared tags.
>

Thanks,
John