Messages in this thread | | | Date | Fri, 22 Jun 2018 13:17:22 +0100 | From | Al Viro <> | Subject | Re: [lkp-robot] [fs] 3deb642f0d: will-it-scale.per_process_ops -8.8% regression |
| |
On Fri, Jun 22, 2018 at 02:07:39PM +0200, Christoph Hellwig wrote: > On Fri, Jun 22, 2018 at 12:56:13PM +0100, Al Viro wrote: > > So mark that in ->f_mode - I strongly suspect that > > sk_can_busy_loop(sock->sk) can't change while an opened file is there. > > And lift that (conditional on new FMODE_BUSY_LOOP) into do_poll() > > and do_select() - we *already* have bits of pieces of that logics in > > there and that way they'd at least be gathered in one place. > > The problem is that call to sk_busy_loop(), which is going to be indirect > no matter what.
if ->f_poll_head is NULL { use ->poll } else { if can ll_poll (checked in ->f_mode) call ->ll_poll(), if it returns what we want - we are done add to ->f_poll_head call ->poll_mask() }
| |