bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Short circuiting data_unlock in ext2fs


From: Sergio Lopez
Subject: Re: Short circuiting data_unlock in ext2fs
Date: Wed, 12 May 2010 12:14:06 +0200

El Wed, 12 May 2010 06:19:29 +0200
Justus Winter <4winter@informatik.uni-hamburg.de> escribió:

> On Tue, 11 May 2010 19:19:01 +0200
> Sergio Lopez <sergio.lopez@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:
> 
> root@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.
> 

Thanks for taking some time to test this. If possible, I'd like to see
the results of "dd" writting longer files to disk. Also, the
information that "dd" prints at the end of the proccess could be useful
too.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]