lkml.org 
[lkml]   [2000]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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/

\
 
 \ /
  Last update: 2005-03-22 12:38    [W:0.081 / U:2.664 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site