summaryrefslogtreecommitdiff
path: root/kern/condition.c
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2013-04-13 15:50:53 +0200
committerRichard Braun <rbraun@sceen.net>2013-04-13 15:50:53 +0200
commit3f78c71aac3de4a963f218426d10ff7a1c188614 (patch)
tree82f247754cb053536a103f2f52320f0f2a10c9eb /kern/condition.c
parentc51eff25b8c4b8115859dd7b5a4c11207540756c (diff)
kern/thread: fix inter-processor load balancing
Because of the way balancer threads lock their run queue, active threads could be stolen by remote balancer threads after the local one had determined there were still active threads on its run queue. If all active threads were pulled away, the scheduler would run the idle thread whereas there would still be runnable (expired) threads on the run queue. This change makes balancer threads keep their run queue locked after checking for active threads and until the next scheduling decision.
Diffstat (limited to 'kern/condition.c')
0 files changed, 0 insertions, 0 deletions