On Tue, 11 May 2010 19:19:01 +0200 Sergio Lopez <sergio.lo...@sinrega.org> wrote:
> Hi, > > I think short circuiting data_unlock requests in ext2fs (by allocating > the page in file_pager_read_page and returning it unlocked) could > improve file growing performance a bit. > > I've tested it in qemu (with kvm), using "dd" to sequentially write > blocks to a file, obtaining an improvement of 10%. I'd like to test it > in real hardware, but currently I don't have a spare machine to do > that. If someone can try it (it's a small patch, and it just requires > to rebuild ext2fs), please let us know the results. Okay, I ran the attached script with both the vanilla ext2fs (source taken from the most recent debian package) and the one with your patch both compiled on my machine. The script executes two tests, creating a 51mb file using dd and untarring the hurd source (~17mb) on a newly created fs on an 17gb partition. The box is an athlon 1500+ iirc. From the dmesg: r...@ganymede:/home/teythoon/bin# grep -A4 ^ide: /var/log/dmesg ide: SiS 5513 (dual FIFO) DMA Bus Mastering IDE Controller on PCI bus 0 function 21 ide0: BM-DMA at 0xff00-0xff07 ide1: BM-DMA at 0xff08-0xff0f hd0: WDC WD400EB-75CPF0, 38166MB w/2048kB Cache, CHS=4865/255/63 And here are the results: Benchmarking /home/teythoon/ext2fs.vanilla... Running 'dd if=/dev/zero of=/mnt/sink bs=1M count=51'... 2.28 2.27 2.28 2.30 2.30 Average: 2.286 Running 'tar xf /tmp/ramdisk/hurd_20090404.orig.tar.gz -C /mnt'... 23.23 23.15 23.26 23.02 23.13 Average: 23.158 Benchmarking /home/teythoon/ext2fs.sc_unlock... Running 'dd if=/dev/zero of=/mnt/sink bs=1M count=51'... 2.32 2.06 2.33 2.09 2.36 Average: 2.232 Running 'tar xf /tmp/ramdisk/hurd_20090404.orig.tar.gz -C /mnt'... 23.00 23.15 23.08 22.84 22.73 Average: 22.96 If there's anything wrong with my benchmarking method or if you want me to increase the amount of data written or the number of runs, please let me know. Justus
benchmark
Description: Binary data
signature.asc
Description: PGP signature