[RFC] new jbd locking

Alex Tomas
2003-05-18T12:41:15Z

[-- Attachment #1: Type: text/plain, Size: 1911 bytes --]

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

[-- Attachment #2: jbd-no-bkl-2.5.69-mm6.patch.bz2 --]
[-- Type: application/octet-stream, Size: 20789 bytes --]

[-- Attachment #3: ext3-jbd-nobkl-2.5.69-mm6.patch.bz2 --]
[-- Type: application/octet-stream, Size: 1164 bytes --]