Messages in this thread |  | | Date | Sat, 26 Aug 2000 20:34:59 -0400 | From | Giuliano Pochini <> | Subject | Re: ll_rw_blk.c fails to merge requests. Help! |
| |
> > Making the request ordering stricter won't help with this situation - it > > just makes it more fairly badly behaved. What _should_ help is to > > "batch" the freeing of requests, so that you don't end up waking up > > anybody (and everybody blocks on the requests being empty) until you've > > free'd up, say, half of the request queue again. > > I did a quick patch doing just this -- and a just as quick dbench showed > some improvement when batching freeing of requests of 64 at the time: > > 128M RAM used > > test7 stock (plus Neil's remerge-on-block patch, I liked it) > > burns:/mnt # ./dbench 48 > 48 clients started > Throughput 20.224 MB/sec (NB=25.2799 MB/sec 202.24 MBit/sec) > > test7 with QUEUE_NR_REQUESTS >> 2 batched frees (+ Neil's patch, of course) > > burns:/mnt # ./dbench 48 > 48 clients started > Throughput 23.482 MB/sec (NB=29.3525 MB/sec 234.82 MBit/sec) > > Patch attached, if anyone else wants to give it a go.
> reqfree-batching-1Name: reqfree-batching-1 > Type: Plain Text (text/plain)
This one works fine: no more non-merged requests :) I also notice a performance boost with bonnie, mainly with char i/o, obviously.
2.4.0-test6 (I do't remember what differs between the first and the 2nd one.... probably MAX_SECTORS is doubled in the 2nd test)
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 400 5301 93.5 16954 12.9 6564 9.3 2955 72.0 15125 14.3 141.2 2.1 400 5135 87.8 17032 12.3 6890 9.4 3395 80.7 16729 13.5 163.8 2.1
2.4.0-test7+yourpatch -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 400 6846 87.4 18039 15.5 6620 9.9 5470 65.3 15230 14.5 133.5 2.0
2.2.16pp (usb patches) -------Sequential Output-------- ---Sequential Input-- -Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 400 5116 97.9 20631 24.1 6912 18.3 3593 88.9 17223 16.4 188.4 3.6
2.2 is still faster...
My config: PowerMac G3 350MHz, Adaptec 2930U, HD IBM 9GB (raw speed is ~14MB/s with 2.2 and 13-16MB/s with 2.4), 192 MB ram.
Bye.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |