scheduler panic

Larry Rosenman ler at lerctr.org
Sun Dec 25 15:48:38 UTC 2011


On Fri, 23 Dec 2011, Larry Rosenman wrote:
> On 12/23/2011 8:54 AM, John Baldwin wrote:
>> The sloppiest fix might be to do this:
>>
>> Index: sched_ule.c
>> ===================================================================
>>
>>
> - --- sched_ule.c	(revision 228777)
>> +++ sched_ule.c	(working copy) @@ -1434,7 +1434,8 @@
>> sched_priority(struct thread *td) } else { pri = SCHED_PRI_MIN; if
>> (td->td_sched->ts_ticks) -			pri += SCHED_PRI_TICKS(td->td_sched);
>> +			pri += min(SCHED_PRI_TICKS(td->td_sched), +
>> SCHED_PRI_RANGE); pri += SCHED_PRI_NICE(td->td_proc->p_nice);
>> KASSERT(pri >= PRI_MIN_BATCH && pri <= PRI_MAX_BATCH,
>> ("sched_priority: invalid priority %d: nice %d, "
>>
>
> I've applied this to both the host and the guest, and am recompiling
> the guest kernel (hopefully it'll stay up long enough...).
>
> I'll report back.
>
> Do y'all (FreeBSD Devs) want a PR?
>
>
I've run 2 complete buildworld/buildkernel cycles with the patch applied
in the guest, and it's made it all the way through.  It wouldn't
do that without it.

Can we get this (or something else like it) applied?

Do I need to file a PR?

-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 512-248-2683                 E-Mail: ler at lerctr.org
US Mail: 430 Valona Loop, Round Rock, TX 78681-3893


More information about the freebsd-current mailing list