GC operation
Bernhard Priewasser
priewasser at gmail.com
Mon Nov 7 07:47:17 EST 2005
Hi Artem,
> Brr, didn't get it.. GC may be ugly if what?
If someone wants to understand how it works in detail :-)
>> When and how is GC called?
> From the GC thread and when there is no (or few) free space to write.
> In the latter case the writing process is blocked and waits until GC
> has freed some space.
E.g. if it is considered as neccessary either by jffs2_reserve_space()
or jffs2_thread_should_wake().
Something about the blocking topic... If there is almost no free space
and a write command issued, can it be blocked until the whole partition
is GC'd (worst case)?? What a latency time... Are there mechanisms to
avoid/control this? What about the "erase suspend" thing?
>> Ah, another one: Are blocks on the erase_pending_list erased beside
>> the GC cycles?
> They are erased later, yes.
jffs2_erase_pending_blocks(), am I right? When is it called? I can only
find it in jffs2_write_super() with count=0 and jffs2_find_nextblock()
with count=1.
Many thanks,
Bernhard
More information about the linux-mtd
mailing list