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: Justus Winter
Subject: Re: Short circuiting data_unlock in ext2fs
Date: Wed, 12 May 2010 06:19:29 +0200

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.

Justus

Attachment: benchmark
Description: Binary data

Attachment: signature.asc
Description: PGP signature


reply via email to

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