Searched hist:220198 (Results 1 - 1 of 1) sorted by relevance

/freebsd-11-stable/sys/kern/
H A Dsched_ule.cdiff 220198 Thu Mar 31 12:15:24 MDT 2011 fabient Clearing the flag when preempting will let the preempted thread run
too much time. This can finish in a scheduler deadlock with ping-pong
between two threads.

One sample of this is:
- device lapic (to have a preemption point on critical_exit())
- options DEVICE_POLLING with HZ>1499 (to have lapic freq = hardclock freq)
- running a cpu intensive task (that does not enter the kernel)
- only one CPU on SMP or no SMP.

As requested by jhb@ 4BSD have received the same type of fix instead of
propagating the flag to the new thread.

Reviewed by: jhb, jeff
MFC after: 1 month

Completed in 207 milliseconds