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