diff options
author | Richard Braun <rbraun@sceen.net> | 2013-04-13 15:50:53 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2013-04-13 15:50:53 +0200 |
commit | 3f78c71aac3de4a963f218426d10ff7a1c188614 (patch) | |
tree | 82f247754cb053536a103f2f52320f0f2a10c9eb /kern/condition.c | |
parent | c51eff25b8c4b8115859dd7b5a4c11207540756c (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