Date: Fri, 6 May 2011 14:11:20 +0000 (UTC) From: Fabien Thomas <fabient@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/kern sched_4bsd.c sched_ule.c Message-ID: <201105061411.p46EBc7X096897@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
fabient 2011-05-06 14:11:20 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_7)
sys/kern sched_4bsd.c sched_ule.c
Log:
SVN rev 221532 on 2011-05-06 14:11:20Z by fabient
MFC r220198:
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.
Revision Changes Path
1.106.2.13 +2 -6 src/sys/kern/sched_4bsd.c
1.214.2.21 +2 -1 src/sys/kern/sched_ule.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105061411.p46EBc7X096897>
