Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 03 Nov 2016 10:33:18 -0500
From:      Scott Bennett <bennett@sdf.org>
To:        freebsd-stable@freebsd.org, george+freebsd@m5p.com
Subject:   Re: huge nanosleep variance on 11-stable
Message-ID:  <201611031533.uA3FXIma020158@sdf.org>

next in thread | raw e-mail | index | archive | help
     On Wed, 2 Nov 2016 10:23:24 -0400 George Mitchell <george+freebsd@m5p.com>
wrote:
>On 11/01/16 23:45, Kevin Oberman wrote:
>> On Tue, Nov 1, 2016 at 2:36 PM, Jason Harmening <jason.harmening@gmail.com>
>> wrote:
>> 
>>> Sorry, that should be ~*30ms* to get 30fps, though the variance is still
>>> up to 500ms for me either way.
>>>
>>> On 11/01/16 14:29, Jason Harmening wrote:
>>>> repro code is at http://pastebin.com/B68N4AFY if anyone's interested.
>>>>
>>>> On 11/01/16 13:58, Jason Harmening wrote:
>>>>> Hi everyone,
>>>>>
>>>>> I recently upgraded my main amd64 server from 10.3-stable (r302011) to
>>>>> 11.0-stable (r308099).  It went smoothly except for one big issue:
>>>>> certain applications (but not the system as a whole) respond very
>>>>> sluggishly, and video playback of any kind is extremely choppy.
>>>>>
>>>>> [...]
>> I eliminated the annoyance by change scheduler from ULE to 4BSD. That was
>> it, but I have not seen the issue since. I'd be very interested in whether
>> the scheduler is somehow impacting timing functions or it's s different
>> issue. I've felt that there was something off in ULE for some time, but it
>> was not until these annoying hiccups convinced me to try going back to
>> 4BSD.
>> 
>> Tip o' the hat to Doug B. for his suggestions that ULE may have issues that
>> impacted interactivity.
>> [...]
>
>Not to beat a dead horse, but I've been a non-fan of SCHED_ULE since
>it was first introduced, and I don't like it even today.  I run the
>distributed.net client on my machines, but even without that, ULE
>screws interactive behavior.  With distributed.net running and ULE,
>a make buildworld/make buildkernel takes 10 2/3 hours on 10.3-RELEASE
>on a 6-CPU machine versus 2 1/2 hours on the same machine with 4BSD
>and distributed.net running.  I'm told that SCHED_ULE is the greatest
>thing since sliced bread for some compute load or other (details are
>scarce), but I (fortunately) don't often have to run heavy server
>type loads; and for everyday use (even without distributed.net
>running), SCHED_4BSD is my choice by far.  It's too bad I can't run
>freebsd_update with it, though.
>
     I gave up on ULE during 8-STABLE.  I had tried tinkering with
kern.sched.preempt_thresh as recommended, as well as some more extreme
values, but I couldn't see any improvement.  Some values may have made
performance even worse.  The last straw for me, however, was when I
discovered that ULE happily scheduled *idle* priority processes at times
when both CPU threads on a P4 Prescott were tied up by 100% CPU-bound
(mprime) threads at normal priority niced to 20.  Idle priority tasks
should *only* run when no higher priority tasks are available to run for
all CPU threads.  The 4BSD scheduler handles this situation properly.
     Now I'm running 10.3-STABLE on a QX9650, and I haven't tested ULE
on it to see whether it's still as flawed.  If and when I get a machine
with a multi-cored, hyperthreaded CPU or perhaps a board with multiple
CPU chips, then I may worry about the multi-level affinity stuff that
ULE was supposedly designed for enough to bother testing it.  But for
now, I can't see any advantage in it for my current machine.


                                  Scott Bennett, Comm. ASMELG, CFIAG
**********************************************************************
* Internet:   bennett at sdf.org   *xor*   bennett at freeshell.org  *
*--------------------------------------------------------------------*
* "A well regulated and disciplined militia, is at all times a good  *
* objection to the introduction of that bane of all free governments *
* -- a standing army."                                               *
*    -- Gov. John Hancock, New York Journal, 28 January 1790         *
**********************************************************************



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201611031533.uA3FXIma020158>