Skip to contentSkip to conversation

new jbd locking

RFC Alex Tomas 1 participant 1 message May 18, 2003

lore
Share & tools
lore

Alex Tomas

author
#0 lore raw

hi!

here is new version of the patch. following problems have been fixed since last one:
- bug in log_do_checkpoint(): some buffer were locked, but I/O didn't get started (thanks to Dave Hansen for testing)
- minor memory leak has been fixed
- now b_committed_data is protected from to be freed
by journal_commit_transaction()

some benchmarks:

1) dbench
I have a lot of troubles with dbench because results are very unstable and unpredictable. so, I collected results of several runs and calculated average thoughput. unfortunately, even average numbers are unstable

   dbench 1:    before         after
                73.63975       70.20113
                71.55381       72.89969
                69.54363       70.46640
                72.24077       69.91244
   dbench 2:    before         after
                95.92940       100.22570
                86.85545       90.09191
                90.98304       105.07921
                84.86959       85.68771
   dbench 4:    before         after
                45.64170       53.43416
                48.66928       57.15186
                49.71130       56.51542
   dbench 16:   before         after
                41.13922       52.74798
                50.43494       51.12468
                42.23480       54.16548
                44.76376       53.92670

2) synthetic test

    N (1/2/4) processes write 32 blocks into own file, then truncate file to zero
    and repeat this sequence for 100000 times:

             4/32/100000  2/32/100000  1/32/100000
    before:  11m13.389s   4m48.604s    1m51.323s
    after:   5m38.025s    2m47.733s    1m56.503s

all tests were performed on dual p3-1GHz/512MB/old scsi hdd

you should apply two patches (against 2.5.69-mm6):
1) new locking schema for jbd
2) patch that makes ext3 allocation safe with new locking schema

I'll be happy to see any comments

with best regards, Alex