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

Marcelo Tosatti (marcelo@conectiva.com.br)
Sun, 25 Jun 2000 19:13:01 -0300 (BRST)


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-366135101-961971181=:14804
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Sun, 25 Jun 2000, Jens Axboe wrote:

<snip>

>
> I also did a dbench run.
>
> 2.2.17-pre6
>
> burns:/opt/software/testing # ./dbench 48
> 48 clients started
> Throughput 12.84 MB/sec (NB=16.0499 MB/sec 128.4 MBit/sec)
>
> 2.4.0-test2-ac1
>
> burns:/opt/software/testing # ./dbench 48
> 48 clients started
> Throughput 30.6317 MB/sec (NB=38.2896 MB/sec 306.317 MBit/sec)
>
> The 2.2 results are very disappointing here, the last time I checked
> 2.2 dbench results were in the ~24MB/sec range.

In 2.2.17pre7, try_to_free_buffers() was only waking up kflushd in case
sync_page_buffers() failed to sync the dirty buffers of a page.

With the attached patch, try_to_free_buffers() wakes up kflushd if the
percentage of dirty memory is high, independant of sync_page_buffers
failing or not. The patch also modifies do_try_to_free_pages to print a
"VM: do_try_to_free_pages failed..." only when _no_ progress is made.

Testing dbench with 48 processes on one of the test machines around here
(IDE disk), I've got 13MB/sec with 2.2.17pre7, 17MB/sec with 2.2.17pre7 +
the attached patch, and 23MB/s with 2.4.0-t1-ac22.

Jens, could you please try to run dbench with this patch on your machine
and report us results? Thanks a lot.

--0-366135101-961971181=:14804
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="kernel-2.2.17p7-wbdflush.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.21.0006251913010.14804@freak.conectiva>
Content-Description:
Content-Disposition: attachment; filename="kernel-2.2.17p7-wbdflush.patch"

LS0tIGxpbnV4LTIuMi4xN3A3L21tL3Ztc2Nhbi5jLm9yaWcJU3VuIEp1biAy
NSAyMDo1Mjo1NyAyMDAwDQorKysgbGludXgtMi4yLjE3cDcvbW0vdm1zY2Fu
LmMJU3VuIEp1biAyNSAyMDo1NDo1NSAyMDAwDQpAQCAtNDE5LDcgKzQxOSw3
IEBADQogZG9uZToNCiAJdW5sb2NrX2tlcm5lbCgpOw0KIA0KLQlpZiAocHJp
b3JpdHkgPCAwKQ0KKwlpZiAoIXJldCkNCiAJCXByaW50aygiVk06IGRvX3Ry
eV90b19mcmVlX3BhZ2VzIGZhaWxlZCBmb3IgJXMuLi5cbiIsDQogCQkJCWN1
cnJlbnQtPmNvbW0pOw0KIAkvKiBSZXR1cm4gc3VjY2VzcyBpZiB3ZSBmcmVl
ZCBhIHBhZ2UuICovDQotLS0gbGludXgtMi4yLjE3cDcvZnMvYnVmZmVyLmMu
b3JpZwlTdW4gSnVuIDI1IDIwOjQ4OjA4IDIwMDANCisrKyBsaW51eC0yLjIu
MTdwNy9mcy9idWZmZXIuYwlTdW4gSnVuIDI1IDIxOjE3OjU5IDIwMDANCkBA
IC0xNTAyLDYgKzE1MDIsNyBAQA0KIGludCB0cnlfdG9fZnJlZV9idWZmZXJz
KHN0cnVjdCBwYWdlICogcGFnZV9tYXAsIGludCB3YWl0KQ0KIHsNCiAJc3Ry
dWN0IGJ1ZmZlcl9oZWFkICogdG1wLCAqIGJoID0gcGFnZV9tYXAtPmJ1ZmZl
cnM7DQorCWludCB0b29fbWFueTsNCiANCiAJdG1wID0gYmg7DQogCWRvIHsN
CkBAIC0xNTMwLDE0ICsxNTMxLDI1IEBADQogCXJldHVybiAxOw0KIA0KICBi
dXN5Og0KLQlpZiAoIXN5bmNfcGFnZV9idWZmZXJzKGJoLCB3YWl0KSkNCisJ
dG9vX21hbnkgPSAobnJfYnVmZmVycyAqIGJkZl9wcm0uYl91bi5uZnJhY3Qv
MTAwKTsNCisNCisJaWYgKCFzeW5jX3BhZ2VfYnVmZmVycyhiaCwgd2FpdCkp
IHsNCisNCisJCS8qIElmIGEgaGlnaCBwZXJjZW50YWdlIG9mIHRoZSBidWZm
ZXJzIGFyZSBkaXJ0eSwgDQorCQkgKiB3YWtlIGtmbHVzaGQgDQorCQkgKi8N
CisJCWlmIChucl9idWZmZXJzX3R5cGVbQlVGX0RJUlRZXSA+IHRvb19tYW55
KQ0KKwkJCXdha2V1cF9iZGZsdXNoKDApOw0KKwkJCQ0KIAkJLyoNCiAJCSAq
IFdlIGNhbiBqdW1wIGFmdGVyIHRoZSBidXN5IGNoZWNrIGJlY2F1c2UNCiAJ
CSAqIHdlIHJlbHkgb24gdGhlIGtlcm5lbCBsb2NrLg0KIAkJICovDQogCQln
b3RvIHN1Y2NlZWQ7DQorCX0NCiANCi0Jd2FrZXVwX2JkZmx1c2goMCk7DQor
CWlmKG5yX2J1ZmZlcnNfdHlwZVtCVUZfRElSVFldID4gdG9vX21hbnkpDQor
CQl3YWtldXBfYmRmbHVzaCgwKTsNCiAJcmV0dXJuIDA7DQogfQ0KIA0K
--0-366135101-961971181=:14804--

-
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/