git: DragonFly_RELEASE_4_6 kernel - Fix excessive ipiq recursion (4)
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Jul 22 22:04:41 PDT 2016
commit d5b1e1b2262237814815a265277a415bc2dedf43
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri Jul 22 21:58:59 2016 -0700
kernel - Fix excessive ipiq recursion (4)
* Possibly the smoking gun. There was a case where the lwkt_switch()
code could wind up looping excessively calling lwkt_getalltokens()
if td_contended went negative, and td_contended on interrupt threads
could in-fact go negative.
This stopped IPIs in their tracks.
* Fix by making td_contended unsigned, causing the comparions to work
in all situations. And add a missing assignment to 0 for the
preempted thread case.
Summary of changes:
sys/kern/lwkt_thread.c | 11 ++++++-----
sys/sys/thread.h | 2 +-
2 files changed, 7 insertions(+), 6 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d5b1e1b2262237814815a265277a415bc2dedf43
--
DragonFly BSD source repository
More information about the Commits
mailing list