On Wed, Jan 29, 2020 at 09:01:49PM -0700, Jens Axboe wrote: > blk_poll() used to be a pointer in the queue, but since we just had > one implementation, we got rid of it. Might make sense to > reintroduce that, and just make it an optimized indirect call. I > think that would be prettier than add the bio hack in the middle of > it, and you're having to add a queue pointer anyway. Well, the other reason is to avoid an indirect call for the blk-mq case, which are fairly expensive. In fact I'm pretty sure we avoid indirect calls from the bio layer into blk-mq entirely for the fast path at the moment, and it would be great to keep it that way.