Re: ULE/yielding patch for testing.

From: Gelsema, P \(Patrick\) - FreeBSD <"Gelsema,>
Date: Fri, 5 Oct 2007 17:19:12 +0200 (CEST)
On Fri, October 5, 2007 02:43, Jeff Roberson wrote:
>
> On Wed, 3 Oct 2007, Gelsema, P (Patrick) - FreeBSD wrote:
>
>> On Wed, October 3, 2007 17:07, Nick Evans wrote:
>>> On Tue, 2 Oct 2007 16:53:33 -0700 (PDT)
>>> Jeff Roberson <jroberson_at_chesapeake.net> wrote:
>>>
>>>> Enclosed is a patch that does two things:
>>>>
>>>> 1)  Reduces UP context switch time by over 10% making it faster than
>>>> 4BSD
>>>> on UP.  On SMP it's hard to compare since ULE can do as many as 30x as
>>>> many switches per second on my 8way system.
>>>>
>>>> 2)  Restores old sched_yield() behavior from 6.x.  This was changed in
>>>> -current unintentionally I think.
>>>>
>>>> I'd appreciate any extra testing.  The ULE context switch time
>>>> improvements required some changes to the frequency that we
>>>> recalculate
>>>> priorities.  I'm mostly interested in hearing whether this causes any
>>>> regression in normal workloads.
>>>>
>>>> Those of you still using 4BSD can also verify that the yield changes
>>>> don't
>>>> cause any problems there.
>>>>
>>>> Thanks,
>>>> Jeff
>>>
>>> Jeff,
>>>
>>> I haven't noticed any adverse affects with this patch on yesterdays
>>> CURRENT+ULE. System is a Pentium D 915 with 1 gig ram. Built a bunch of
>>> larger
>>> ports while browsing in firefox and setting up enlightenment-devel,
>>> interactivity was good. Enlightenment's eye-candy stayed very fluid.
>>>
>>> Nick
>>> _______________________________________________
>>> freebsd-current_at_freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>>> To unsubscribe, send any mail to
>>> "freebsd-current-unsubscribe_at_freebsd.org"
>>>
>>
>> Hi,
>>
>> Running -current as of tuesdaynight CET.
>>
>> FreeBSD hulk.superhero.nl 7.0-CURRENT FreeBSD 7.0-CURRENT #4: Wed Oct  3
>> 08:19:30 UTC 2007
>> root_at_hulk.superhero.nl:/usr/obj/usr/src/sys/GENERIC
>> amd64
>>
>> I've done the following (had to as I did not have the actual diff
>> available):
>>
>> copy text from
>> http://lists.freebsd.org/pipermail/freebsd-current/attachments/20071002/30d18099/yield-0001.bin
>> into a file saved in /tmp
>>
>> #cd /usr/src
>> #patch < /tmp/patchile
>>
>> I had to tell the patch with which files I wanted the patchfiles to
>> compare with. Found this weird but they did apply correctly.
>>
>> I've recompiled my Kernel with SCHED_ULE and rebooted.
>>
>> After boot I got up to the login window after which it instantly paniced
>> with: panic: Invalid priority 128 on timeshare runq
>
> I believe I have fixed this bug in the enclosed patch.  It is rooted from
> /usr/src/sys so you should cd there to apply it.
>

Patched, rebuild everything and rebooted. No issues so far.

I do not notice any improvement performance wise (don't know if I should
be expecting any):

On amd64 patched ULE (with all debugging options on, GENERIC kernel with
only the scheduler changed):

time make -j16 buildworld
4722.703u 2542.486s 1:04:55.26 186.5%   6060+1295k 23195+8330io 3400pf+0w

time make -j8 buildworld
4704.547u 2567.041s 1:04:15.68 188.5%   6049+1293k 2289+8296io 1085pf+0w

Without the patch it takes about the same time for make -j16. Maybe 1 or 2
minutes longer.

before each run I did the below:

cd /usr/src && rm -rf /usr/obj && make clean && make clean

I can't run a lot of tests as I am logged on remote.

If you want me to try certain tests please let me know.

Rgds,

Patrick

> Thanks,
> Jeff
>
>>
>> Maybe this error was caused by the method of patching used by me? Can
>> you
>> please provide me the patch again by email, if this could solve the
>> issue.
>>
>> If more information is required I am more than happy to provide.
>>
>> Rgds,
>>
>> Patrick
>>
>> _______________________________________________
>> freebsd-current_at_freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to
>> "freebsd-current-unsubscribe_at_freebsd.org"
>>_______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
Received on Fri Oct 05 2007 - 13:19:21 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:18 UTC