On Mon, Oct 18, 2021 at 11:51:07AM -0600, Jens Axboe wrote: > Use a singly linked list for the blk_plug. This saves 8 bytes in the > blk_plug struct, and makes for faster list manipulations than doubly > linked lists. As we don't use the doubly linked lists for anything, > singly linked is just fine. > > This yields a bump in default (merging enabled) performance from 7.0 > to 7.1M IOPS, and ~7.5M IOPS with merging disabled. I still find this very hard to review. It doesn't just switch the list implementation but also does change how this code works. Especially in blk_mq_flush_plug_list, but also in blk_mq_submit_bio. I think this needs to be further split up.