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