Fix inverse sleep logic in buf_daemon().
Before commit3cec5c77d6
buf_daemon() went to longer 1s sleep if numdirtybuffers <= lodirtybuffers. After that commit new condition !BIT_EMPTY(BUF_DOMAINS, &bdlodirty) got opposite -- true when one or more more domains is above lodirtybuffers. As result, on freshly booted system with no dirty buffers buf_daemon() wakes up 10 times per second and probably only 1 time per second when there is actual work to do. MFC after: 1 week Reviewed by: kib, markj Tested by: pho Differential revision: https://reviews.freebsd.org/D33890 (cherry picked from commite76c010899
)
This commit is contained in:
parent
3540f6b4af
commit
15e1d8f69b
@ -3455,7 +3455,7 @@ buf_daemon()
|
||||
* to avoid endless loops on unlockable buffers.
|
||||
*/
|
||||
mtx_lock(&bdlock);
|
||||
if (!BIT_EMPTY(BUF_DOMAINS, &bdlodirty)) {
|
||||
if (BIT_EMPTY(BUF_DOMAINS, &bdlodirty)) {
|
||||
/*
|
||||
* We reached our low water mark, reset the
|
||||
* request and sleep until we are needed again.
|
||||
|
Loading…
Reference in New Issue
Block a user