Re: ULE/yielding patch for testing.

From: Jeff Roberson <jroberson_at_chesapeake.net>
Date: Wed, 3 Oct 2007 14:34:05 -0700 (PDT)
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 made the patch from /usr/src/sys/ or sys/kern, I don't remember which. 
If you take a peak at the patch header you can see where the paths are 
relative from.  I tend to just make it whereever it is convenient.

>
> 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

This is a legitimate bug.  I will fix it and post an updated patch later 
this evening.  Thanks very much for your help.  None of my machines were 
running into it and this is exactly the sort of thing I was hoping 
additional coverage would turn up.

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"
>
Received on Wed Oct 03 2007 - 19:31:20 UTC

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