ubik has a few very old "orphaned" LWP events that are signalled via
LWP_NoYieldSignal, but have no matching waits (LWP_WaitProcess).
Each "signal" runs the LWP waiting element list for each LWP on the
blocked queue; this may add up to substantial wasted overhead on a
heavily loaded ubik server.
Remove the orphaned signals.
No functional difference should be incurred by this commit.
Reviewed-on: https://gerrit.openafs.org/12620
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit
e4c7321560acf0bd34eeee7d46269818d82fdb44)
Change-Id: I4303542683aaa62895b73a5ea93bc3d0ac82804a
Reviewed-on: https://gerrit.openafs.org/13123
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
urecovery_ResetState(void)
{
urecovery_state = 0;
-#if !defined(AFS_PTHREAD_ENV)
- /* No corresponding LWP_WaitProcess found anywhere for this -- klm */
- LWP_NoYieldSignal(&urecovery_state);
-#endif
return 0;
}
urecovery_LostServer(struct ubik_server *ts)
{
ubeacon_ReinitServer(ts);
-#if !defined(AFS_PTHREAD_ENV)
- /* No corresponding LWP_WaitProcess found anywhere for this -- klm */
- LWP_NoYieldSignal(&urecovery_state);
-#endif
return 0;
}