On Sunday, December 25, 2011 10:48:32 am Larry Rosenman wrote: > 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) _at__at_ -1434,7 +1434,8 _at__at_ > >> 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? I've committed this. I do think the root problem is an issue with the clock interrupts, but this seems to be a common enough problem I think a workaround is warranted. -- John BaldwinReceived on Thu Dec 29 2011 - 15:24:26 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:22 UTC