Re: [PATCH v2 3/6] block: add iopoll method to support bio-based IO polling

JeffleXu
2021-01-28T11:53:09Z

On 1/28/21 4:40 PM, Christoph Hellwig wrote:
> On Mon, Jan 25, 2021 at 08:13:37PM +0800, Jeffle Xu wrote:
>> +int blk_poll(struct request_queue *q, blk_qc_t cookie, bool spin)
>
> Can you split the guts of this function into two separate helpers
> for the mq vs non-mq case? As is is is a little hard to read and
> introduced extra branches in the fast path.
>

I know your consideration, actually I had ever tried.

I can extract some helper functions, but I'm doubted if the extra
function call is acceptable.

Besides, the iteration logic is generic and I'm afraid the branch or
function call is unavoidable. Or if we maintain two separate function
for mq and dm, the code duplication may be unavoidable.

Anyway I'll give a try.

--
Thanks,
Jeffle