From: Iwo Mergler <iwo@call-direct.com.au>
To: Mark Mason <mason@postdiluvian.org>
Cc: linux-mtd@lists.infradead.org
Subject: Re: Scheduler latency problems when using NAND
Date: Thu, 30 Sep 2010 10:26:22 +1000 [thread overview]
Message-ID: <4CA3D92E.9060109@call-direct.com.au> (raw)
In-Reply-To: <20100929221401.GA32583@postdiluvian.org>
Mark Mason wrote:
> Hi all,
>
> I hope this is the right place for this question. I'm having some
> problems with scheduler latency when using UBIFS, and I'm hoping for
> some suggestions.
<snip>
> The application is storing streaming video, almost entirely large
> sequential files, roughly 250K to 15M, to a 1.6G filesystem. There's
> no seeking or rewriting, just creat, write, close, repeat. No
> compression is used on the filesystem.
>
> The problem I'm seeing is excessively large scheduler latency when
> data is flushed to NAND.
<snip>
> Does anyone have any suggestions, ideas, hints, advice, etc?
The Linux block cache is optimised for mechanical hard drives,
to minimise seek times. Some of the assumptions don't make much
sense with FLASH and streaming storage.
Maybe try to flush data whenever you have written a few blocks'
worth. Or have a look at the O_DIRECT flag (or madvise), although
I don't know how it interacts with UBIFS.
Have you considered using a different file system? UBIFS is not
exactly optimised for your use case. JFFS2 would be better, but
won't stomach your flash size.
Especially if you only deal with one stream at a time, you could
create a very simple circular file system yourself. Like JFFS2
without the memory cache.
You could use a real filesystem to store the metadata for your
circular storage partition (file name, length, offset).
Maybe use raw UBI so you don't have to worry about bad blocks.
Either way, the time to erase a block and write a single page
is predictable and you can do it as soon as you get the data.
Best regards,
Iwo
next prev parent reply other threads:[~2010-09-30 0:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-29 22:14 Scheduler latency problems when using NAND Mark Mason
2010-09-30 0:26 ` Iwo Mergler [this message]
2010-09-30 15:08 ` Joakim Tjernlund
2010-10-09 17:42 ` Mark Mason
2010-10-10 7:56 ` Joakim Tjernlund
2010-10-11 22:54 ` Iwo Mergler
2010-10-12 16:05 ` Mark Mason
2010-09-30 4:56 ` Artem Bityutskiy
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=4CA3D92E.9060109@call-direct.com.au \
--to=iwo@call-direct.com.au \
--cc=linux-mtd@lists.infradead.org \
--cc=mason@postdiluvian.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).