Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jun 2006 22:05:17 +0200
From:      Ivan Voras <ivoras@fer.hr>
To:        freebsd-fs@freebsd.org
Subject:   Re: Is the fsync() fake on FreeBSD6.1?
Message-ID:  <44A2E0FD.6060302@fer.hr>
In-Reply-To: <20060628230439.M75051@delplex.bde.org>
References:  <a0cd7c070606270032h3a42de6ahf21cd11abedb6400@mail.gmail.com>	<44A1B958.4030204@fer.hr> <20060628230439.M75051@delplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans wrote:

>> But I see strange results with iostat. It shows 16KB transactions, 
>> ~2900 tps and 46 MB/s. On the other hand, the program runs for ~36 
>> seconds, which gives ~1390 tps (this is a single desktop drive). Since 
>> 36 seconds of 46MB/s would result in a file 1.6 GB in size, while it's 
>> clearly 50000*512=25MB, iostat is lying.
> 
> This is because you fsync() every 512 bytes.  The file system then writes
> a 16K inode block and a 16K data block, giving 64 times as much i/o as
> necessary.

Ok, so you're saying that it actually does 46MB/s, rewriting 16K FS 
blocks over and over?

In that case, wouldn't all writes to the FS, especially with 
soft-updates be minimally 16K+16K? It doesn't look like it when I 
monitor a live server - there are 8KB and 4KB writes... maybe UFS 
fragments complicate the (ac)counting.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44A2E0FD.6060302>