[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: JFFS2: powerfailtesting again

> IMHO 3 min of uninterrupted running is a way long. This definitely looks
> like a
> hangover. Is it possible to make calls to schedule() more frequent, not
> just
> between GC passes ?
> Did anybody perform profiling of JFFS , where is a bottleneck ? 10
> minute for
> boot from 3mb partition is a rather long time.
> Do You have plans to improve performance ? Is there room for this ?

Did you really mean 3 *minutes*, NOT seconds? What processor are you using?

There is something wrong for sure. On my 100MHz 486 with a 8MB flash
with about 5MB of data on it (JFFS2), I don't have any blocks more than a few
at a time.

Note that blocks depend on how much data is being generated to the fs. If the
data being written to the fs is less than the *average* data that the GC can
collect in the
background, the fs will not get full. Then gc only needs to collect one
sector at a time which
can happen in the background without blocking any new writes in the
foreground for more than
a few seconds (the amount of time it takes to erase 1 sector, usually less
than 1 second).

It may also depend on how fast your flash sectors can be erased. Are you
using Intel Strata flash?
<Heresay>I personally have no experience with them, but read somewhere that
the worst case erase timings
on those can run into 10's of seconds (or longer!).</Heresay>

I have a small program that runs as a real time POSIX task (in the kernel).
In writing out a few 10's of bytes
every 100ms, the worst case block I got on the wakeup time for the task was
~600ms. This was writing
to the fs that was ~60% full.

From what I remember I had let the task run for hours. Maybe I need to let it
run for days and see what the
worst case time would be. :)


P.S. My boot time from this JFFS 2 partition is <1minute (usually <30seconds)

To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to majordomo@xxxxxxx.com