All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Sandeen <sandeen@redhat.com>
To: paul.chavent@fnac.net
Cc: linux-ext4@vger.kernel.org
Subject: Re: What represent 646345728 bytes
Date: Mon, 01 Feb 2010 09:06:12 -0600	[thread overview]
Message-ID: <4B66EDE4.6000204@redhat.com> (raw)
In-Reply-To: <7618835.18201265033304935.JavaMail.www@wsfrf1112>

paul.chavent@fnac.net wrote:
> 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.

So you are doing streaming writes in 304k chunks?  Or each file
gets 304K?  It sounds like you are writing multiple 304k pictures
to a single file, right?

> But every exactly 646345728 bytes, the write takes ~46ms.

Do you mean every 304K written to the fs, or to the file?

304k doesn't divide evenly into 646345728 bytes so I'm not sure...

> 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.

Preallocation -should- be helpful in general, so if it's not ...

> 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 ?

It might be interesting to know what the geometry of your filesystem is,
dumpe2fs -h would provide that.  Also if you could mock up a testcase
that demonstrates the behavior, it would help in debugging.

Actually... as a first step I would redo the test yourself with
-O ^uninit_bg at mkfs time to see if the bitmap init is causing the
delay.

-Eric

> 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@vger.kernel.org 
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  

  reply	other threads:[~2010-02-01 15:06 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-01 14:08 What represent 646345728 bytes paul.chavent
2010-02-01 15:06 ` Eric Sandeen [this message]
2010-02-01 17:20 ` Aneesh Kumar K. V
2010-02-01 17:34   ` Eric Sandeen
  -- strict thread matches above, loose matches on Subject: below --
2010-02-01 17:06 paul.chavent
2010-02-01 20:07 ` Eric Sandeen
2010-02-01 22:36   ` Eric Sandeen
2010-02-01 23:01     ` Andreas Dilger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B66EDE4.6000204@redhat.com \
    --to=sandeen@redhat.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=paul.chavent@fnac.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.