Re: [lkp-robot] [fs] 3deb642f0d: will-it-scale.per_process_ops -8.8% regression

From: Christoph Hellwig
Date: Sat Jun 23 2018 - 03:05:44 EST


On Fri, Jun 22, 2018 at 09:02:55PM +0100, Al Viro wrote:
> > While at the same time corect poll code already checks net_busy_loop_on
> > to set POLL_BUSY_LOOP. So except for sockets where people set the
> > timeout to 0 the code already does the right thing as-is. IMHO not
> > really worth wasting a FMODE_* flag for it, but if you insist I'll add
> > it.
>
> It's not just that - there's also an issue of extra indirect call on the
> fast path for sockets. You get this method of yours + ->poll_mask(),
> which hits another indirect to per-family ->poll_mask(). It might be
> better to have these combined, sparing us an extra indirect call.
>
> Just give it the same calling conventions as ->poll_mask() have...

The problem is that for the busy poll we want the actual busy poll +
__pollwait + ->poll_mask. Which is going to make that new poll_busy_loop
with a return value look exactly like ->poll.

So for now I'm tempted to just do this:

---