Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 May 2011 14:05:32 +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:  <201105061405.p46E5lvi096431@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help

fabient     2011-05-06 14:05:32 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_8)
    sys/kern             sched_4bsd.c sched_ule.c 
  Log:
  SVN rev 221528 on 2011-05-06 14:05:32Z 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.131.2.11  +2 -6      src/sys/kern/sched_4bsd.c
  1.257.2.23  +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?201105061405.p46E5lvi096431>