On 2022/10/20 14:34, Christoph Hellwig wrote:
I though the conclusion from last round was to move the srcu_struct to the tagset?
If move the srcu_struct to the tagset, may loss the flexibility. I am not sure that it is good for other modules currently using blk_mq_quiesce_queue. Another, I am not sure if there will be a future scenario where blk_mq_quiesce_queue will have to be used, and if it is good for such scenario. It is a acceptable cost to allocate a temporary array for SRCU, the max memory size is actually a few hundred KB, and most of the time it's less than a few KB. So I did not move the srcu_struct to the tagset in patch V3. It sounds like a good idea that explore moving the srcu_struct to the tag_set, But we may need more time to analysis it. I suggest that do the optimization in a separate patch set.
.