Re: VM idle page zeroing
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
--8323329-1468711201-1274108701=:32223
Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII
Hi,
Attached is a patch that changes a few things:
1) Removes the CVS ID; that was vestigial, I forgot I'd included that.
2) Rename idlezero_count back to cnt_prezero; this is because this is the
original name (in FreeBSD and in DragonFly). I don't feel strongly about
this at all - is it reasonable to try to match up sysctl names or not
worth it?
3) Change vm_page_zero_check() to return the reason that the check failed.
4) In vm_pagezero(), switch tsleep to sleep for a variable amount of time;
by default it is still hz/10, now called DEFAULT_SLEEP_TIME. If
vm_page_zero_check() failed because zeroing was either disabled or because
we hit the ZIDLE_HI limit, mark ourselves to sleep for a long time
(hz*10). If we are lower than the upper limit by higher than the low
limit, or we are below the low limit, restore the sleep time.
5) Set zero_state when we hit the high mark and clear when we fall below
the low mark; this restores the hysteresis formerly present.
Other thoughts - before we enter the mainloop, perhaps a sleep without a
timeout, if idlezero_enable = 0? Then the enable/disable sysctl could be a
SYSCTL_PROC which wakes it up; this would minimize the (admittedly tiny)
load on systems on which it is disabled.
Thoughts on any of this?
Thanks,
-- vs
--8323329-1468711201-1274108701=:32223
Content-Type: TEXT/x-diff; name=vm_zeroidle1.diff
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.DEB.2.00.1005171104470.32223@endeavour>
Content-Description:
Content-Disposition: attachment; filename=vm_zeroidle1.diff
LS0tIC9zY3JhdGNoL2RyYWdvbmZseS9zeXMvdm0vdm1femVyb2lkbGUuYwky
MDEwLTA1LTE2IDE0OjE1OjQwLjAwMDAwMDAwMCAtMDQwMA0KKysrIHZtX3pl
cm9pZGxlLmMJMjAxMC0wNS0xNyAwNDo1ODoyMi4wMDAwMDAwMDAgLTA0MDAN
CkBAIC0zNSw4ICszNSw2IEBADQogICoJZnJvbTogQCgjKXZtX21hY2hkZXAu
Ywk3LjMgKEJlcmtlbGV5KSA1LzEzLzkxDQogICoJVXRhaCAkSGRyOiB2bV9t
YWNoZGVwLmMJMS4xNi4xLjEgODkvMDYvMjMkDQogICogZnJvbSBGcmVlQlNE
OiAuLi4vaTM4Ni92bV9tYWNoZGVwLmMsdiAxLjE2NSAyMDAxLzA3LzA0IDIz
OjI3OjA0IGRpbGxvbg0KLSAqDQotICogJElkOiB2bV96ZXJvaWRsZS5jLHYg
MS4zIDIwMTAvMDUvMTIgMDQ6NTA6NDUgc3Y1Njc5IEV4cCAkDQogICovDQog
DQogI2luY2x1ZGUgPHN5cy9wYXJhbS5oPg0KQEAgLTY3LDcgKzY1LDYgQEAN
CiAvKiBNYXhpbXVtIG51bWJlciBvZiBwYWdlcyBwZXIgc2Vjb25kIHRvIHpl
cm8gKi8NCiAjZGVmaW5lIE5QQUdFU19SVU4JKDIwMDAwKQ0KIA0KLQ0KIHN0
YXRpYyBpbnQgaWRsZXplcm9fZW5hYmxlID0gMDsNCiBUVU5BQkxFX0lOVCgi
dm0uaWRsZXplcm9fZW5hYmxlIiwgJmlkbGV6ZXJvX2VuYWJsZSk7DQogU1lT
Q1RMX0lOVChfdm0sIE9JRF9BVVRPLCBpZGxlemVyb19lbmFibGUsIENUTEZM
QUdfUlcsICZpZGxlemVyb19lbmFibGUsIDAsDQpAQCAtNzksOCArNzYsOCBA
QA0KIFNZU0NUTF9JTlQoX3ZtLCBPSURfQVVUTywgaWRsZXplcm9fbm9jYWNo
ZSwgQ1RMRkxBR19SVywgJmlkbGV6ZXJvX25vY2FjaGUsIDAsDQogCSAgICJN
YXhpbXVtIHBhZ2VzIHBlciBzZWNvbmQgdG8gemVybyIpOw0KIA0KLXN0YXRp
YyBpbnQgaWRsZXplcm9fY291bnQgPSAwOw0KLVNZU0NUTF9JTlQoX3ZtLCBP
SURfQVVUTywgaWRsZXplcm9fY291bnQsIENUTEZMQUdfUkQsICZpZGxlemVy
b19jb3VudCwgMCwNCitzdGF0aWMgaW50IGNudF9wcmV6ZXJvID0gMDsNCitT
WVNDVExfSU5UKF92bSwgT0lEX0FVVE8sIGNudF9wcmV6ZXJvLCBDVExGTEFH
X1JELCAmY250X3ByZXplcm8sIDAsDQogCSAgICJUaGUgbnVtYmVyIG9mIHBo
eXNpY2FsIHBhZ2VzIHByZXplcm9lZCBhdCBpZGxlIHRpbWUiKTsNCiANCiBl
bnVtIHplcm9pZGxlX3N0YXRlIHsNCkBAIC05MCw3ICs4NywxOCBAQA0KIAlT
VEFURV9SRUxFQVNFX1BBR0UNCiB9Ow0KIA0KK2VudW0gemVyb19jaGVja19z
dGF0ZSB7DQorCVpfRElTQUJMRUQsDQorCVpfTE9XX0xJTSwNCisJWl9ISUdI
X0xJTSwNCisJWl9aRVJPDQorfTsNCisNCisjZGVmaW5lIERFRkFVTFRfU0xF
RVBfVElNRQkoaHogLyAxMCkNCisjZGVmaW5lIExPTkdfU0xFRVBfVElNRQko
aHogKiAxMCkNCisNCiBzdGF0aWMgaW50IHplcm9fc3RhdGU7DQorc3RhdGlj
IGludCBzbGVlcF90aW1lOw0KIA0KIC8qDQogICogQXR0ZW1wdCB0byBtYWlu
dGFpbiBhcHByb3hpbWF0ZWx5IDEvMiBvZiBvdXIgZnJlZSBwYWdlcyBpbiBh
DQpAQCAtMTAwLDE2ICsxMDgsMTYgQEANCiAgKiBmYXN0IHNsZWVwcy4gV2Ug
YWxzbyBkbyBub3Qgd2FudCB0byBiZSBjb250aW51b3VzbHkgemVyb2luZw0K
ICAqIHBhZ2VzIGJlY2F1c2UgZG9pbmcgc28gbWF5IGZsdXNoIG91ciBMMSBh
bmQgTDIgY2FjaGVzIHRvbyBtdWNoLg0KICAqLw0KLXN0YXRpYyBpbnQNCitz
dGF0aWMgZW51bSB6ZXJvX2NoZWNrX3N0YXRlDQogdm1fcGFnZV96ZXJvX2No
ZWNrKHZvaWQpDQogew0KIAlpZiAoaWRsZXplcm9fZW5hYmxlID09IDApDQot
CQlyZXR1cm4gKDApOw0KKwkJcmV0dXJuIChaX0RJU0FCTEVEKTsNCiAJaWYg
KHplcm9fc3RhdGUgJiYgdm1fcGFnZV96ZXJvX2NvdW50ID49IFpJRExFX0xP
KHZtc3RhdHMudl9mcmVlX2NvdW50KSkNCi0JCXJldHVybiAoMCk7DQorCQly
ZXR1cm4gKFpfTE9XX0xJTSk7DQogCWlmICh2bV9wYWdlX3plcm9fY291bnQg
Pj0gWklETEVfSEkodm1zdGF0cy52X2ZyZWVfY291bnQpKQ0KLQkJcmV0dXJu
ICgwKTsNCi0JcmV0dXJuICgxKTsNCisJCXJldHVybiAoWl9ISUdIX0xJTSk7
DQorCXJldHVybiAoWl9aRVJPKTsNCiB9DQogDQogc3RhdGljIHZvaWQNCkBA
IC0xMjEsNiArMTI5LDcgQEANCiAJY2hhciAqcGcgPSBOVUxMOw0KIAlpbnQg
bnBhZ2VzID0gMDsNCiAJaW50IGkgPSAwOw0KKwllbnVtIHplcm9fY2hlY2tf
c3RhdGUgenM7DQogDQogCS8qDQogCSAqIEFkanVzdCB0aHJlYWQgcGFyYW1l
dGVycyBiZWZvcmUgZW50ZXJpbmcgb3VyIGxvb3AuICBUaGUgdGhyZWFkDQpA
QCAtMTMyLDYgKzE0MSw3IEBADQogCXJlbF9tcGxvY2soKTsNCiAJbHdrdF9z
ZXRwcmlfc2VsZihURFBSSV9JRExFX1dPUkspOw0KIAlsd2t0X3NldGNwdV9z
ZWxmKGdsb2JhbGRhdGFfZmluZChuY3B1cyAtIDEpKTsNCisJc2xlZXBfdGlt
ZSA9IERFRkFVTFRfU0xFRVBfVElNRTsNCiANCiAJLyoNCiAJICogTG9vcCBm
b3JldmVyDQpAQCAtMTQyLDkgKzE1MiwzNSBAQA0KIAkJCS8qDQogCQkJICog
V2FpdCBmb3Igd29yay4NCiAJCQkgKi8NCi0JCQl0c2xlZXAoJnplcm9fc3Rh
dGUsIDAsICJwZ3plcm8iLCBoeiAvIDEwKTsNCi0JCQlpZiAodm1fcGFnZV96
ZXJvX2NoZWNrKCkpDQorCQkJdHNsZWVwKCZ6ZXJvX3N0YXRlLCAwLCAicGd6
ZXJvIiwgc2xlZXBfdGltZSk7DQorCQkJLyoNCisJCQkgKiBDaGVjayB3aGV0
aGVyIHdlIG91Z2h0IHplcm8gcGFnZXMgLSBpZiB3ZSBhcmUNCisJCQkgKiBk
aXNhYmxlZCBvciB0aGVyZSBhcmUgcGxlbnR5IG9mIHplcm8gcGFnZXMsIHdl
DQorCQkJICogc2xlZXAsIGZvciBhIGxvbmcgdGltZS4NCisJCQkgKi8NCisJ
CQl6cyA9IHZtX3BhZ2VfemVyb19jaGVjaygpOw0KKwkJCWlmICh6cyA9PSBa
X0RJU0FCTEVEKSB7DQorCQkJCXNsZWVwX3RpbWUgPSBMT05HX1NMRUVQX1RJ
TUU7DQorCQkJCWJyZWFrOw0KKwkJCX0NCisJCQlzd2l0Y2goenMpIHsNCisJ
CQljYXNlIFpfWkVSTzoNCisJCQkJc2xlZXBfdGltZSA9IERFRkFVTFRfU0xF
RVBfVElNRTsNCiAJCQkJbnBhZ2VzID0gaWRsZXplcm9fcmF0ZSAvIDEwOw0K
KwkJCQl6ZXJvX3N0YXRlID0gMDsNCisJCQkJYnJlYWs7DQorCQkJY2FzZSBa
X0hJR0hfTElNOg0KKwkJCQlzbGVlcF90aW1lID0gTE9OR19TTEVFUF9USU1F
Ow0KKwkJCQl6ZXJvX3N0YXRlID0gMTsNCisJCQkJYnJlYWs7DQorCQkJY2Fz
ZSBaX0xPV19MSU06DQorCQkJCXNsZWVwX3RpbWUgPSBERUZBVUxUX1NMRUVQ
X1RJTUU7DQorCQkJCWJyZWFrOw0KKwkJCWRlZmF1bHQ6DQorCQkJCS8qIFpf
RElTQUJMRUQgaGFuZGxlZCBhYm92ZSBzd2l0Y2ggKi8NCisJCQkJYnJlYWs7
DQorCQkJfQ0KKw0KIAkJCWlmIChucGFnZXMpDQogCQkJCXN0YXRlID0gU1RB
VEVfR0VUX1BBR0U7CS8qIEZhbGx0aHJvdWdoICovDQogCQkJYnJlYWs7DQpA
QCAtMTkzLDcgKzIyOSw3IEBADQogCQkJCXZtX3BhZ2VfZmxhZ19zZXQobSwg
UEdfWkVSTyk7DQogCQkJCXZtX3BhZ2VfZnJlZV90b3EobSk7DQogCQkJCXN0
YXRlID0gU1RBVEVfR0VUX1BBR0U7DQotCQkJCSsraWRsZXplcm9fY291bnQ7
DQorCQkJCSsrY250X3ByZXplcm87DQogCQkJCXJlbF9tcGxvY2soKTsNCiAJ
CQl9DQogCQkJYnJlYWs7DQo=
--8323329-1468711201-1274108701=:32223--
討論串 (同標題文章)
完整討論串 (本文為第 15 之 19 篇):