[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <7618835.18201265033304935.JavaMail.www@wsfrf1112>
Date: Mon, 1 Feb 2010 15:08:24 +0100 (CET)
From: <paul.chavent@...c.net>
To: linux-ext4@...r.kernel.org
Subject: What represent 646345728 bytes
Hi
I'am writing an application that write a stream of pictures of fixed size on a disk.
My app run on a self integrated gnu/linux (based on a 2.6.31.6-rt19 kernel).
My media is formated with
# mke2fs -t ext4 -L DATA -O large_file,^has_journal,extent -v /dev/sda3
[...]
And it is mounted with
# mount -t ext4 /dev/sda3 /var/data/
EXT4-fs (sda3): no journal
EXT4-fs (sda3): delayed allocation enabled
EXT4-fs: file extents enabled
EXT4-fs: mballoc enabled
EXT4-fs (sda3): mounted filesystem without journal
My app opens the file with "O_WRONLY | O_CREAT | O_TRUNC | O_SYNC | O_DIRECT" flags.
Each write takes ~4.2ms for 304K (it is very good since it is the write bandwidth of my hard drive). There is a write every 100ms.
But every exactly 646345728 bytes, the write takes ~46ms.
I had the same problem with ext2 but every ~620M (the amount wasn't so constant).
Also i tryed to "posix_fallocate" with (eg 2G), and the first write overhead comes at this limit. I would like to avoid to preallocate.
I suppose it is a kind of block allocation issue. But i would like to have your opinion :
- what is exatcly this amount of bytes ?
- can i do something for having a "constant" write time from the user space point of view ?
- is it a "probem" only for me ?
Thank you for your reading.
Paul.
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists