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