Re: [PATCH 05/10] block: don't update BLK_FEAT_POLL in __blk_mq_update_nr_hw_queues

Christoph Hellwig
2025-01-06T15:27:20Z

On Mon, Jan 06, 2025 at 05:36:52PM +0530, Nilay Shroff wrote:
> Oh yes, I saw that you moved blk_mq_can_poll() to blk-mq.h and
> made it inline so thought why bdev_can_poll() can't be made inline?

It can be, but why would you want it to? What do you gain from forcing
the compiler to inline it, when sane compilers with a sane inlining
threshold will do that anyway.

> BTW, bdev_can_poll() is called from IO fastpath and so making it inline
> may slightly improve performance.
> On another note, I do see that blk_mq_can_poll() is now only called
> from bdev_can_poll(). So you may want to merge these two functions
> in a single call and make that inline.

I'd rather keep generic block layer logic separate from blk-mq logic.
We tend to do a few direct calls into blk-mq from the core code to
avoid the indirect call overhead, but we should still keep the code
as separate as possible to keep it somewhat modular.