On Tue, Apr 24, 2001 at 02:19:28PM +0200, Andrea Arcangeli wrote:
> I'm starting the benchmarks of the C version and I will post a number update
> and a new patch in a few minutes.

(sorry for the below wrap around, just grow your terminal to read it stright)

                                aa RW (reads) aa RW (writes) R1       R2      RO      
W1       WO
dh generic out of line try3     5842496       3016649        13309316 5010534 3850228 
13012701 1825789
dh generic out of line try3 #2  5823381       3006773        13311722 5023185 3845954 
13021716 1802560
aa generic out of line buggy    6061713       3129801        14251500 4972932 4253814 
13652385 1751857
aa generic out of line #2 buggy 6099046       3148951        14265389 4936267 4253432 
13632914 1753608
aa generic out of line          6133756       3167138        14244991 5122637 4254504 
13656896 1797627
aa generic out of line #2       6093079       3145761        14259141 5126506 4254532 
13658447 1803505

dh x86 asm in line try3         5789542       2989478        16922653 5650211 4956250 
15431139 813756
dh x86 asm in line try3 #2      5801777       2995669        16946132 5647272 4959828 
15439790 816005
aa x86 asm in line buggy        5736978       2962325        17044842 5603085 4831655 
16064773 860791
aa x86 asm in line #2 buggy     5799163       2994404        17053405 5601647 4833518 
16037018 864103
aa generic in line              5706875       2946931        16943038 5644018 4837576 
16085859 870833
aa generic in line #2           5755126       2971578        16924502 5639379 4836111 
16073916 873499

I tagged my previous rows as "buggy", I left your try#3 at the start of each
version and I added at the end the new numbers with the -9 fixed revision of my
rwsem at the end. new graph is attached.

So nothing interesting is changed in the numbers as far I can tell after the
fixes and improvement of the fast path using "a" instead of "+a".

Unless you can provide a testcase that fails with my smarter and more compact
algorithm I suggest to Linus to merge my code into pre7.

Against pre6:

        
ftp://ftp.kernel.org/pub/linux/kernel/people/andrea/patches/v2.4/2.4.4pre6/rwsem-9

against David's try2:

        
ftp://ftp.kernel.org/pub/linux/kernel/people/andrea/patches/v2.4/2.4.4pre6/rwsem-9-against-dh-try2

against David's try3:

        
ftp://ftp.kernel.org/pub/linux/kernel/people/andrea/patches/v2.4/2.4.4pre6/rwsem-9-against-dh-try3

I will keep doing regression testing in the next hours of course.

Andrea

rwsem-9.png

Reply via email to