Re: [PATCH 05/10] block: don't update BLK_FEAT_POLL in __blk_mq_update_nr_hw_queues
- To: Nilay Shroff <nilay@linux.ibm.com>
- Cc: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>, Damien Le Moal <dlemoal@kernel.org>, Ming Lei <ming.lei@redhat.com>, linux-block@vger.kernel.org, linux-nvme@lists.infradead.org, nbd@other.debian.org, virtualization@lists.linux.dev, linux-scsi@vger.kernel.org, usb-storage@lists.one-eyed-alien.net
- Subject: Re: [PATCH 05/10] block: don't update BLK_FEAT_POLL in __blk_mq_update_nr_hw_queues
- From: Christoph Hellwig <hch@lst.de>
- Date: Mon, 6 Jan 2025 16:27:08 +0100
- Message-id: <[🔎] 20250106152708.GA27431@lst.de>
- In-reply-to: <[🔎] 3fb212e4-8fff-45fc-9cff-f5b5eaff4231@linux.ibm.com>
- References: <[🔎] 20250106100645.850445-1-hch@lst.de> <[🔎] 20250106100645.850445-6-hch@lst.de> <[🔎] 4addcb5e-fc88-4a86-a464-cc25d8674267@linux.ibm.com> <[🔎] 20250106110532.GA22062@lst.de> <[🔎] 3fb212e4-8fff-45fc-9cff-f5b5eaff4231@linux.ibm.com>
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.
Reply to: