On Fri, Oct 21, 2022 at 03:16:50PM +0800, Chao Leng wrote: >> struct list_head tag_list; >> + struct srcu_struct srcu; > srcu_struct size is more than 50+ KB, it is waste for the tagset which do not set > the BLK_MQ_F_BLOCKING, and most tagsets do not set the BLK_MQ_F_BLOCKING. > Maybe we can define "srcu" as a pointer, and allocate the memory in blk_mq_alloc_tag_set > just for tagset which set the BLK_MQ_F_BLOCKING. I guess we could do that. Still better than the variable sized struct. p.s. any chance you could properly trim your replies? I took me a while to find your comment in the sea of quotes.