On 1/6/25 4:35 PM, Christoph Hellwig wrote: > On Mon, Jan 06, 2025 at 04:31:23PM +0530, Nilay Shroff wrote: >>> +static bool bdev_can_poll(struct block_device *bdev) >>> +{ >>> + struct request_queue *q = bdev_get_queue(bdev); >>> + >>> + if (queue_is_mq(q)) >>> + return blk_mq_can_poll(q->tag_set); >>> + return q->limits.features & BLK_FEAT_POLL; >>> +} >>> + >> >> Should we make bdev_can_poll() inline ? > > I don't really see the point. It's file local and doesn't have any > magic that could confuse the code generator, so we might as well leave > it to the compiler. Although that might be about to change per the > discussion with Damien, which could require it in blk-sysfs, in > which case it should become an inline in a header. > 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? 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. Thanks, --Nilay