Re: NFS: 82ms wakeup latency 4.14-rc4

From: Mike Galbraith
Date: Mon Dec 18 2017 - 12:47:56 EST


On Mon, 2017-12-18 at 12:27 -0500, J. Bruce Fields wrote:
> On Mon, Dec 18, 2017 at 06:17:36PM +0100, Mike Galbraith wrote:
> > On Mon, 2017-12-18 at 18:00 +0100, Mike Galbraith wrote:
> > > On Mon, 2017-12-18 at 11:35 -0500, J. Bruce Fields wrote:
> > > >
> > > > Like I say, I don't really understand the issues here, so it's more a
> > > > question than an objection.... (I don't know any reason a
> > > > cond_resched() would be bad there.)
> > >
> > > Think of it this way: what all can be queued up behind that kworker
> > > that is hogging CPU for huge swaths of time?  It's not only userspace
> > > that suffers.
> >
> > Bah, I'm gonna sound like a damn Baptist preacher, but I gotta say,
> > latency matters just as much to an enterprise NOPREEMPT kernel and its
> > users as it does to a desktop kernel and its users.  For max
> > throughput, you don't want to do work in _tiny_ quantum, because you
> > then lose throughput due to massive cache trashing and scheduling
> > overhead, but latency still does matter, and not just a little.
>
> Right, what I don't understand is why kernels are still built without
> preemption.

Oh, that's easy.. because they absolutely SUCK at throughput, and
contrary to popular belief, they do not provide anything remotely
similar to deterministic behavior.  They're better at latency, but not
really all that much in general use, while being horrid at getting work
done efficiently.

I tried PREEMPT, but much prefer VOLUNTARY performance/efficiency.

-Mike