Now
MAIN commitmail json YAML
In the "interlock" case (where the scheduler lock is used as the condvar
lock), we need to take the CPU interlock before releasing the CPU.
Otherwise other threads can be scheduled before we get the interlock,
leading to e.g. missed condvar wakeups. This affected only "locks_up.c"
locking (nomen est omen?).
Also, remove various __predicts since they don't have a positive
performance impact in any setup.
lock), we need to take the CPU interlock before releasing the CPU.
Otherwise other threads can be scheduled before we get the interlock,
leading to e.g. missed condvar wakeups. This affected only "locks_up.c"
locking (nomen est omen?).
Also, remove various __predicts since they don't have a positive
performance impact in any setup.