You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Rewrite the sinval messaging mechanism to reduce contention and avoid
unnecessary cache resets. The major changes are:* When the queue overflows, we only issue a cache reset to the specificbackend or backends that still haven't read the oldest message, ratherthan resetting everyone as in the original coding.* When we observe backend(s) falling well behind, we signal SIGUSR1to only one backend, the one that is furthest behind and doesn't alreadyhave a signal outstanding for it. When it finishes catching up, it willin turn signal SIGUSR1 to the next-furthest-back guy, if there is one thatis far enough behind to justify a signal. The PMSIGNAL_WAKEN_CHILDRENmechanism is removed.* We don't attempt to clean out dead messages after every message-receiptoperation; rather, we do it on the insertion side, and only when the queuefullness passes certain thresholds.* Split SInvalLock into SInvalReadLock and SInvalWriteLock so that readersdon't block writers nor vice versa (except during the infrequent queuecleanout operations).* Transfer multiple sinval messages for each acquisition of a read orwrite lock.