Re: [PATCH] 2.2.17pre7 VM enhancement Re: I/O performance on

Marcelo Tosatti (marcelo@conectiva.com.br)
Wed, 28 Jun 2000 11:09:27 -0300 (BRT)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

--0-1993165118-962201078=:2940
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.LNX.4.21.0006281107201.2940@freak.conectiva>

On Mon, 26 Jun 2000, Andrea Arcangeli wrote:

> On Sun, 25 Jun 2000, Marcelo Tosatti wrote:
>
> >On Mon, 26 Jun 2000, Andrea Arcangeli wrote:
> >
> >> On Sun, 25 Jun 2000, Marcelo Tosatti wrote:
> >>
> >> >With the attached patch, try_to_free_buffers() wakes up kflushd if the
> >> >percentage of dirty memory is high, independant of sync_page_buffers
> >>
> >> It's wrong to do that there. kflushd is just wakenup by the guy that
> >> generated the dirty data.
> >Why that is wrong?
>
> It's wrong the place where you wake it up. We just do the wakeup in the
> right place anyway (and we do write throttling too if necessary), so you
> don't need to do an extra wasteful check there. If kflushd wasn't running
> and it was expected to be running, then fix the real wakeup point instead
> of bloating the allocator path.

I applied your balance dirty patch against 2.2.17pre9, plus the protected
ramdisk memory patch.

I also changed the buffer cache dirty percentage check at the end of
try_to_free_buffers to use the new balance_dirty_state:

+ if(balance_dirty_state(NODEV) >= 0)
+ wakeup_bdflush(0);

Testing dbench with 48 clients, I got 17MB/s with 2.2.17pre9, and 21MB/sec
with 2.2.17pre9 + this patch.


--0-1993165118-962201078=:2940
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="kernel-2.2.17p9-balance_dirty.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.21.0006281104380.2940@freak.conectiva>
Content-Description:
Content-Disposition: ATTACHMENT; FILENAME="kernel-2.2.17p9-balance_dirty.patch"

QmluYXJ5IGZpbGVzIGxpbnV4Lm9yaWcvLnN3cCBhbmQgbGludXgvLnN3cCBk
aWZmZXINCmRpZmYgLS1leGNsdWRlPSoubyAtTnVyIGxpbnV4Lm9yaWcvZHJp
dmVycy9ibG9jay9yZC5jIGxpbnV4L2RyaXZlcnMvYmxvY2svcmQuYw0KLS0t
IGxpbnV4Lm9yaWcvZHJpdmVycy9ibG9jay9yZC5jCVdlZCBKdW4gMjggMTM6
MjQ6NDcgMjAwMA0KKysrIGxpbnV4L2RyaXZlcnMvYmxvY2svcmQuYwlXZWQg
SnVuIDI4IDEyOjI4OjUxIDIwMDANCkBAIC0xNzMsNyArMTczLDcgQEANCiAJ
aWYgKENVUlJFTlQtPmNtZCA9PSBSRUFEKSANCiAJCW1lbXNldChDVVJSRU5U
LT5idWZmZXIsIDAsIGxlbik7IA0KIAllbHNlCQ0KLQkJc2V0X2JpdChCSF9Q
cm90ZWN0ZWQsICZDVVJSRU5ULT5iaC0+Yl9zdGF0ZSk7DQorCQltYXJrX2J1
ZmZlcl9wcm90ZWN0ZWQoQ1VSUkVOVC0+YmgpOw0KIA0KIAllbmRfcmVxdWVz
dCgxKTsNCiAJZ290byByZXBlYXQ7DQpkaWZmIC0tZXhjbHVkZT0qLm8gLU51
ciBsaW51eC5vcmlnL2ZzL2J1ZmZlci5jIGxpbnV4L2ZzL2J1ZmZlci5jDQot
LS0gbGludXgub3JpZy9mcy9idWZmZXIuYwlXZWQgSnVuIDI4IDEzOjI0OjQ4
IDIwMDANCisrKyBsaW51eC9mcy9idWZmZXIuYwlXZWQgSnVuIDI4IDEzOjMy
OjE2IDIwMDANCkBAIC0zMSw2ICszMSw4IEBADQogICogMjAwMCwgTWFyY2Vs
byBUb3NhdHRpIDxtYXJjZWxvQGNvbmVjdGl2YS5jb20uYnI+DQogICovDQog
DQorLyogYXN5bmMgYnVmZmVyIGZsdXNoaW5nLCAxOTk5IEFuZHJlYSBBcmNh
bmdlbGkgPGFuZHJlYUBzdXNlLmRlPiAqLw0KKw0KICNpbmNsdWRlIDxsaW51
eC9tYWxsb2MuaD4NCiAjaW5jbHVkZSA8bGludXgvbG9ja3MuaD4NCiAjaW5j
bHVkZSA8bGludXgvZXJybm8uaD4NCkBAIC04Myw2ICs4NSw3IEBADQogDQog
c3RhdGljIGludCBucl9idWZmZXJzID0gMDsNCiBzdGF0aWMgaW50IG5yX2J1
ZmZlcnNfdHlwZVtOUl9MSVNUXSA9IHswLH07DQorc3RhdGljIHVuc2lnbmVk
IGxvbmcgc2l6ZV9idWZmZXJzX3R5cGVbTlJfTElTVF07DQogc3RhdGljIGlu
dCBucl9idWZmZXJfaGVhZHMgPSAwOw0KIHN0YXRpYyBpbnQgbnJfdW51c2Vk
X2J1ZmZlcl9oZWFkcyA9IDA7DQogc3RhdGljIGludCBucl9oYXNoZWRfYnVm
ZmVycyA9IDA7DQpAQCAtNDc0LDYgKzQ3Nyw3IEBADQogCQlyZXR1cm47DQog
CX0NCiAJbnJfYnVmZmVyc190eXBlW2JoLT5iX2xpc3RdLS07DQorCXNpemVf
YnVmZmVyc190eXBlW2JoLT5iX2xpc3RdIC09IGJoLT5iX3NpemU7DQogCXJl
bW92ZV9mcm9tX2hhc2hfcXVldWUoYmgpOw0KIAlyZW1vdmVfZnJvbV9scnVf
bGlzdChiaCk7DQogfQ0KQEAgLTUyMyw2ICs1MjcsNyBAQA0KIAkJKCpiaHAp
LT5iX3ByZXZfZnJlZSA9IGJoOw0KIA0KIAkJbnJfYnVmZmVyc190eXBlW2Jo
LT5iX2xpc3RdKys7DQorCQlzaXplX2J1ZmZlcnNfdHlwZVtiaC0+Yl9saXN0
XSArPSBiaC0+Yl9zaXplOw0KIA0KIAkJLyogUHV0IHRoZSBidWZmZXIgaW4g
bmV3IGhhc2gtcXVldWUgaWYgaXQgaGFzIGEgZGV2aWNlLiAqLw0KIAkJYmgt
PmJfbmV4dCA9IE5VTEw7DQpAQCAtODE2LDYgKzgyMSw0NiBAQA0KIAlpbnNl
cnRfaW50b19xdWV1ZXMoYmgpOw0KIH0NCiANCisvKiAtMSAtPiBubyBuZWVk
IHRvIGZsdXNoDQorICAgIDAgLT4gYXN5bmMgZmx1c2gNCisgICAgMSAtPiBz
eW5jIGZsdXNoICh3YWl0IGZvciBJL08gY29tcGxldGF0aW9uKSAqLw0KK3N0
YXRpYyBpbnQgYmFsYW5jZV9kaXJ0eV9zdGF0ZShrZGV2X3QgZGV2KQ0KK3sN
CisJdW5zaWduZWQgbG9uZyBkaXJ0eSwgdG90LCBoYXJkX2RpcnR5X2xpbWl0
LCBzb2Z0X2RpcnR5X2xpbWl0Ow0KKw0KKwlkaXJ0eSA9IHNpemVfYnVmZmVy
c190eXBlW0JVRl9ESVJUWV0gPj4gUEFHRV9TSElGVDsNCisJdG90ID0gKGJ1
ZmZlcm1lbSA+PiBQQUdFX1NISUZUKSArIG5yX2ZyZWVfcGFnZXM7IA0KKwl0
b3QgLT0gc2l6ZV9idWZmZXJzX3R5cGVbQlVGX1BST1RFQ1RFRF0gPj4gUEFH
RV9TSElGVDsNCisNCisJZGlydHkgKj0gMjAwOw0KKwlzb2Z0X2RpcnR5X2xp
bWl0ID0gdG90ICogYmRmX3BybS5iX3VuLm5mcmFjdDsNCisJaGFyZF9kaXJ0
eV9saW1pdCA9IHNvZnRfZGlydHlfbGltaXQgKiAyOw0KKw0KKwlpZiAoZGly
dHkgPiBzb2Z0X2RpcnR5X2xpbWl0KQ0KKwl7DQorCQlpZiAoZGlydHkgPiBo
YXJkX2RpcnR5X2xpbWl0KQ0KKwkJCXJldHVybiAxOw0KKwkJcmV0dXJuIDA7
DQorCX0NCisJcmV0dXJuIC0xOw0KK30NCisNCisvKg0KKyAqIGlmIGEgbmV3
IGRpcnR5IGJ1ZmZlciBpcyBjcmVhdGVkIHdlIG5lZWQgdG8gYmFsYW5jZSBi
ZGZsdXNoLg0KKyAqDQorICogaW4gdGhlIGZ1dHVyZSB3ZSBtaWdodCB3YW50
IHRvIG1ha2UgYmRmbHVzaCBhd2FyZSBvZiBkaWZmZXJlbnQNCisgKiBwcmVz
c3VyZXMgb24gZGlmZmVyZW50IGRldmljZXMgLSB0aHVzIHRoZSAoY3VycmVu
dGx5IHVudXNlZCkNCisgKiAnZGV2JyBwYXJhbWV0ZXIuDQorICovDQordm9p
ZCBiYWxhbmNlX2RpcnR5KGtkZXZfdCBkZXYpDQorew0KKwlpbnQgc3RhdGUg
PSBiYWxhbmNlX2RpcnR5X3N0YXRlKGRldik7DQorDQorCWlmIChzdGF0ZSA8
IDApDQorCQlyZXR1cm47DQorCXdha2V1cF9iZGZsdXNoKHN0YXRlKTsNCit9
DQorDQogLyoNCiAgKiBBIGJ1ZmZlciBtYXkgbmVlZCB0byBiZSBtb3ZlZCBm
cm9tIG9uZSBidWZmZXIgbGlzdCB0byBhbm90aGVyDQogICogKGUuZy4gaW4g
Y2FzZSBpdCBpcyBub3Qgc2hhcmVkIGFueSBtb3JlKS4gSGFuZGxlIHRoaXMu
DQpAQCAtODI4LDcgKzg3Myw5IEBADQogCQlwcmludGsoIkF0dGVtcHQgdG8g
cmVmaWxlIGZyZWUgYnVmZmVyXG4iKTsNCiAJCXJldHVybjsNCiAJfQ0KLQlp
ZiAoYnVmZmVyX2RpcnR5KGJ1ZikpDQorCWlmIChidWZmZXJfcHJvdGVjdGVk
KGJ1ZikpDQorCQlkaXNwb3NlID0gQlVGX1BST1RFQ1RFRDsNCisJZWxzZSBp
ZiAoYnVmZmVyX2RpcnR5KGJ1ZikpDQogCQlkaXNwb3NlID0gQlVGX0RJUlRZ
Ow0KIAllbHNlIGlmIChidWZmZXJfbG9ja2VkKGJ1ZikpDQogCQlkaXNwb3Nl
ID0gQlVGX0xPQ0tFRDsNCkBAIC04MzcsMTMgKzg4NCw5IEBADQogCWlmKGRp
c3Bvc2UgIT0gYnVmLT5iX2xpc3QpIHsNCiAJCWZpbGVfYnVmZmVyKGJ1Ziwg
ZGlzcG9zZSk7DQogCQlpZihkaXNwb3NlID09IEJVRl9ESVJUWSkgew0KLQkJ
CWludCB0b29fbWFueSA9IChucl9idWZmZXJzICogYmRmX3BybS5iX3VuLm5m
cmFjdC8xMDApOw0KIA0KLQkJCS8qIFRoaXMgYnVmZmVyIGlzIGRpcnR5LCBt
YXliZSB3ZSBuZWVkIHRvIHN0YXJ0IGZsdXNoaW5nLg0KLQkJCSAqIElmIHRv
byBoaWdoIGEgcGVyY2VudGFnZSBvZiB0aGUgYnVmZmVycyBhcmUgZGlydHku
Li4NCi0JCQkgKi8NCi0JCQlpZiAobnJfYnVmZmVyc190eXBlW0JVRl9ESVJU
WV0gPiB0b29fbWFueSkNCi0JCQkJd2FrZXVwX2JkZmx1c2goMSk7DQorCQkJ
YmFsYW5jZV9kaXJ0eShidWYtPmJfZGV2KTsNCisNCiANCiAJCQkvKiBJZiB0
aGlzIGlzIGEgbG9vcCBkZXZpY2UsIGFuZA0KIAkJCSAqIG1vcmUgdGhhbiBo
YWxmIG9mIHRoZSBidWZmZXJzIGFyZSBkaXJ0eS4uLg0KQEAgLTE1MDIsNyAr
MTU0NSw2IEBADQogaW50IHRyeV90b19mcmVlX2J1ZmZlcnMoc3RydWN0IHBh
Z2UgKiBwYWdlX21hcCwgaW50IHdhaXQpDQogew0KIAlzdHJ1Y3QgYnVmZmVy
X2hlYWQgKiB0bXAsICogYmggPSBwYWdlX21hcC0+YnVmZmVyczsNCi0JaW50
IHRvb19tYW55Ow0KIA0KIAl0bXAgPSBiaDsNCiAJZG8gew0KQEAgLTE1MzEs
MjUgKzE1NzMsMTYgQEANCiAJcmV0dXJuIDE7DQogDQogIGJ1c3k6DQotCXRv
b19tYW55ID0gKG5yX2J1ZmZlcnMgKiBiZGZfcHJtLmJfdW4ubmZyYWN0LzEw
MCk7DQotDQotCWlmICghc3luY19wYWdlX2J1ZmZlcnMoYmgsIHdhaXQpKSB7
DQotDQotCQkvKiBJZiBhIGhpZ2ggcGVyY2VudGFnZSBvZiB0aGUgYnVmZmVy
cyBhcmUgZGlydHksIA0KLQkJICogd2FrZSBrZmx1c2hkIA0KLQkJICovDQot
CQlpZiAobnJfYnVmZmVyc190eXBlW0JVRl9ESVJUWV0gPiB0b29fbWFueSkN
Ci0JCQl3YWtldXBfYmRmbHVzaCgwKTsNCi0JCQkNCisJaWYgKCFzeW5jX3Bh
Z2VfYnVmZmVycyhiaCwgd2FpdCkpDQogCQkvKg0KIAkJICogV2UgY2FuIGp1
bXAgYWZ0ZXIgdGhlIGJ1c3kgY2hlY2sgYmVjYXVzZQ0KIAkJICogd2UgcmVs
eSBvbiB0aGUga2VybmVsIGxvY2suDQogCQkgKi8NCiAJCWdvdG8gc3VjY2Vl
ZDsNCi0JfQ0KIA0KLQlpZihucl9idWZmZXJzX3R5cGVbQlVGX0RJUlRZXSA+
IHRvb19tYW55KQ0KKwlpZihiYWxhbmNlX2RpcnR5X3N0YXRlKE5PREVWKSA+
PSAwKSAJDQogCQl3YWtldXBfYmRmbHVzaCgwKTsNCisNCiAJcmV0dXJuIDA7
DQogfQ0KIA0KQEAgLTE1NjEsNyArMTU5NCw3IEBADQogCWludCBmb3VuZCA9
IDAsIGxvY2tlZCA9IDAsIGRpcnR5ID0gMCwgdXNlZCA9IDAsIGxhc3R1c2Vk
ID0gMDsNCiAJaW50IHByb3RlY3RlZCA9IDA7DQogCWludCBubGlzdDsNCi0J
c3RhdGljIGNoYXIgKmJ1Zl90eXBlc1tOUl9MSVNUXSA9IHsiQ0xFQU4iLCJM
T0NLRUQiLCJESVJUWSJ9Ow0KKwlzdGF0aWMgY2hhciAqYnVmX3R5cGVzW05S
X0xJU1RdID0geyJDTEVBTiIsIkxPQ0tFRCIsIkRJUlRZIiwiUFJPVEVDVEVE
Iix9Ow0KIA0KIAlwcmludGsoIkJ1ZmZlciBtZW1vcnk6ICAgJThsZGtCXG4i
LGJ1ZmZlcm1lbT4+MTApOw0KIAlwcmludGsoIkJ1ZmZlciBoZWFkczogICAg
JTZkXG4iLG5yX2J1ZmZlcl9oZWFkcyk7DQpAQCAtMTU4NSw3ICsxNjE4LDcg
QEANCiAJCQl1c2VkKyssIGxhc3R1c2VkID0gZm91bmQ7DQogCQliaCA9IGJo
LT5iX25leHRfZnJlZTsNCiAJICB9IHdoaWxlIChiaCAhPSBscnVfbGlzdFtu
bGlzdF0pOw0KLQkgIHByaW50aygiJThzOiAlZCBidWZmZXJzLCAlZCB1c2Vk
IChsYXN0PSVkKSwgIg0KKwkgIHByaW50aygiJTlzOiAlZCBidWZmZXJzLCAl
ZCB1c2VkIChsYXN0PSVkKSwgIg0KIAkJICIlZCBsb2NrZWQsICVkIHByb3Rl
Y3RlZCwgJWQgZGlydHlcbiIsDQogCQkgYnVmX3R5cGVzW25saXN0XSwgZm91
bmQsIHVzZWQsIGxhc3R1c2VkLA0KIAkJIGxvY2tlZCwgcHJvdGVjdGVkLCBk
aXJ0eSk7DQpAQCAtMTkzMCw3ICsxOTYzLDggQEANCiAJCQ0KIAkJLyogSWYg
dGhlcmUgYXJlIHN0aWxsIGEgbG90IG9mIGRpcnR5IGJ1ZmZlcnMgYXJvdW5k
LCBza2lwIHRoZSBzbGVlcA0KIAkJICAgYW5kIGZsdXNoIHNvbWUgbW9yZSAq
Lw0KLQkJaWYobmRpcnR5ID09IDAgfHwgbnJfYnVmZmVyc190eXBlW0JVRl9E
SVJUWV0gPD0gbnJfYnVmZmVycyAqIGJkZl9wcm0uYl91bi5uZnJhY3QvMTAw
KSB7DQorCQlpZiAoIW5kaXJ0eSB8fCBiYWxhbmNlX2RpcnR5X3N0YXRlKE5P
REVWKSA8IDApDQorCQl7DQogCQkJc3Bpbl9sb2NrX2lycSgmY3VycmVudC0+
c2lnbWFza19sb2NrKTsNCiAJCQlmbHVzaF9zaWduYWxzKGN1cnJlbnQpOw0K
IAkJCXNwaW5fdW5sb2NrX2lycSgmY3VycmVudC0+c2lnbWFza19sb2NrKTsN
CmRpZmYgLS1leGNsdWRlPSoubyAtTnVyIGxpbnV4Lm9yaWcvaW5jbHVkZS9s
aW51eC9mcy5oIGxpbnV4L2luY2x1ZGUvbGludXgvZnMuaA0KLS0tIGxpbnV4
Lm9yaWcvaW5jbHVkZS9saW51eC9mcy5oCVdlZCBKdW4gMjggMTM6MjQ6NDkg
MjAwMA0KKysrIGxpbnV4L2luY2x1ZGUvbGludXgvZnMuaAlXZWQgSnVuIDI4
IDEyOjI4OjUxIDIwMDANCkBAIC03NjMsOSArNzYzLDE4IEBADQogI2RlZmlu
ZSBCVUZfQ0xFQU4JMA0KICNkZWZpbmUgQlVGX0xPQ0tFRAkxCS8qIEJ1ZmZl
cnMgc2NoZWR1bGVkIGZvciB3cml0ZSAqLw0KICNkZWZpbmUgQlVGX0RJUlRZ
CTIJLyogRGlydHkgYnVmZmVycywgbm90IHlldCBzY2hlZHVsZWQgZm9yIHdy
aXRlICovDQotI2RlZmluZSBOUl9MSVNUCQkzDQorI2RlZmluZSBCVUZfUFJP
VEVDVEVECTMJLyogUmFtZGlzayBwZXJzaXN0ZW50IHN0b3JhZ2UgKi8NCisj
ZGVmaW5lIE5SX0xJU1QJCTQNCiANCiB2b2lkIG1hcmtfYnVmZmVyX3VwdG9k
YXRlKHN0cnVjdCBidWZmZXJfaGVhZCAqIGJoLCBpbnQgb24pOw0KKw0KK2V4
dGVybiBpbmxpbmUgdm9pZCBtYXJrX2J1ZmZlcl9wcm90ZWN0ZWQoc3RydWN0
IGJ1ZmZlcl9oZWFkICogYmgpDQorew0KKwlpZiAoIXRlc3RfYW5kX3NldF9i
aXQoQkhfUHJvdGVjdGVkLCAmYmgtPmJfc3RhdGUpKSB7DQorCQlpZiAoYmgt
PmJfbGlzdCAhPSBCVUZfUFJPVEVDVEVEKQ0KKwkJCXJlZmlsZV9idWZmZXIo
YmgpOw0KKwl9DQorfQ0KIA0KIGV4dGVybiBpbmxpbmUgdm9pZCBtYXJrX2J1
ZmZlcl9jbGVhbihzdHJ1Y3QgYnVmZmVyX2hlYWQgKiBiaCkNCiB7DQo=
--0-1993165118-962201078=:2940--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/