git: kernel - Fix excessive ipiq recursion (4)
dillon at crater.dragonflybsd.org
Fri Jul 22 22:00:42 PDT 2016
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(-)
DragonFly BSD source repository
More information about the Commits