Abnormal behavior with JFFS2 on latest kernel
Joakim Tjernlund
joakim.tjernlund at transmode.se
Fri Feb 15 03:59:11 EST 2008
On Fri, 2008-02-15 at 17:56 +0900, Kyungmin Park wrote:
> > > I got following messages.
> > > INFO: task pdflush:56 blocked for more than 120 seconds.
> > > "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> > >
> > > What are the meanings?
> > > Too mush running GC in JFFS2 or others?
> > >
> > > BR,
> > > Kyungmin Park
> >
> > It is probably erasing lots of blocks and that takes a while, minutes
> > some times. I once sent a patch to address this but the patch is racy
> > w.r.t module unload. Look in the archive after patches from me.
> >
>
> You mean this one?
> diff --git a/fs/jffs2/wbuf.c b/fs/jffs2/wbuf.c
> index d1d4f27..b2e71c7 100644
> --- a/fs/jffs2/wbuf.c
> +++ b/fs/jffs2/wbuf.c
> @@ -115,7 +115,7 @@ static inline void jffs2_refile_wbuf_blocks(struct jffs2_sb_
>
> D1(printk(KERN_DEBUG "Removing eraseblock at 0x%08x from erasabl
> list_del(this);
> - if ((jiffies + (n++)) & 127) {
> + if ((jiffies + (n++)) & 127 && !list_empty(&c->erasable_list)) {
> /* Most of the time, we just erase it immediately. Other
> spend ages scanning it on mount, etc. */
> D1(printk(KERN_DEBUG "...and adding to erase_pending_lis
>
> It's already applied, but it's same.
Nope, the patch is probably named
"[JFFS2] Stop erasing blocks when rebooting."
Jocke
More information about the linux-mtd
mailing list