Fix inverse sleep logic in buf_daemon().
Before commit 3cec5c77d6
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
This commit is contained in:
parent
10af8e45a8
commit
e76c010899
@ -3464,7 +3464,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