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

Nilay Shroff
2025-01-07T07:07:12Z

On 1/6/25 8:57 PM, Christoph Hellwig wrote:
> 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.
Hmm, ok, I was thinking just in case we want to force compiler. What if
in case compiler doesn't inline it? However, if we're moving this function
to a header then it would be made inline, anyways.
>
>> 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.
>
Okay, make sense.

Thanks,
--Nilay