* OneNAND: soft lockup
@ 2006-12-28 1:47 Kyungmin Park
2006-12-28 10:08 ` Artem Bityutskiy
0 siblings, 1 reply; 4+ messages in thread
From: Kyungmin Park @ 2006-12-28 1:47 UTC (permalink / raw)
To: Artem Bityutskiy; +Cc: linux-mtd@lists.infradead.org
Hi,
> > > Actually, I'm not sure where's the right place. But if we don't touch the watchdong.
> > > it will soft lockup when mounting the JFFS2 with big partition. (I just borrowed it from nand.)
> >
> > Anyway, you should not touch watchdog. You problem is fixed by adding
> > cond_resched() at the right places. What you did - you shut up watchdog
> > which screamed about a real error, instead of solving the error.
>
> It looks good. and also it works well. I will commit it.
hmm, after patch, it has a problem.
How can I find the soft lockup?
/ # mount -t jffs2 /dev/mtdblock5 /tmp
BUG: soft lockup detected on CPU#0!
[<c0024e10>] (dump_stack+0x0/0x14) from [<c005d138>] (softlockup_tick+0xac/0xd8)
[<c005d08c>] (softlockup_tick+0x0/0xd8) from [<c0044bc0>] (run_local_timers+0x1)
r7 = C022B578 r6 = 00000000 r5 = 00000000 r4 = C061FC00
[<c0044ba8>] (run_local_timers+0x0/0x1c) from [<c0044c14>] (update_process_time)
[<c0044bc4>] (update_process_times+0x0/0x7c) from [<c0024ab8>] (timer_tick+0xc8)
r6 = C026DE20 r5 = 00000193 r4 = 00113D3F
[<c00249f0>] (timer_tick+0x0/0xe8) from [<c0035118>] (omap_32k_timer_interrupt+)
r5 = 00000193 r4 = 00113D3F
[<c00350a4>] (omap_32k_timer_interrupt+0x0/0xe4) from [<c005d6e8>] (handle_IRQ_)
r7 = C021E9C8 r6 = 00000025 r5 = C022A2B8 r4 = C021E9A0
[<c005d63c>] (handle_IRQ_event+0x0/0xec) from [<c005ea90>] (handle_level_irq+0x)
[<c005e9c4>] (handle_level_irq+0x0/0x134) from [<c0021714>] (asm_do_IRQ+0x48/0x)
r7 = 00000000 r6 = C02809C8 r5 = 00000025 r4 = C021E9A0
[<c00216cc>] (asm_do_IRQ+0x0/0x60) from [<c00209f8>] (__irq_svc+0x38/0x78)
r7 = 00000002 r6 = 00017AA9 r5 = D80FE000 r4 = FFFFFFFF
[<c00e1a44>] (jffs2_get_ino_cache+0x0/0x48) from [<c00e6f5c>] (jffs2_scan_make_)
[<c00e6f44>] (jffs2_scan_make_ino_cache+0x0/0x84) from [<c00f05e0>] (jffs2_sum_)
r6 = 00000000 r5 = 00000000 r4 = 00017AA9
[<c00f0230>] (jffs2_sum_scan_sumnode+0x0/0x844) from [<c00e72f4>] (jffs2_scan_m)
[<c00e6fc8>] (jffs2_scan_medium+0x0/0x1144) from [<c00ea454>] (jffs2_do_mount_f)
[<c00ea2b8>] (jffs2_do_mount_fs+0x0/0x64c) from [<c00ec8f0>] (jffs2_do_fill_sup)
[<c00ec7b0>] (jffs2_do_fill_super+0x0/0x264) from [<c00ece40>] (jffs2_get_sb_mt)
r8 = C06E57C0 r7 = 00000001 r6 = 00000000 r5 = C0737E00
r4 = C0737C00
[<c00ecd1c>] (jffs2_get_sb_mtd+0x0/0x1a0) from [<c00ecf18>] (jffs2_get_sb_mtdnr)
[<c00ecebc>] (jffs2_get_sb_mtdnr+0x0/0x6c) from [<c00ed0ac>] (jffs2_get_sb+0x18)
r7 = C7D47D40 r6 = 00000005 r5 = C05F0000 r4 = FFFFFFEA
[<c00ecf28>] (jffs2_get_sb+0x0/0x1c8) from [<c0083554>] (vfs_kern_mount+0x60/0x)
[<c00834f4>] (vfs_kern_mount+0x0/0xa0) from [<c00835d0>] (do_kern_mount+0x3c/0x)
r8 = 00000000 r7 = C0230D44 r6 = C05F1000 r5 = C05F0000
r4 = 00000000
[<c0083594>] (do_kern_mount+0x0/0x54) from [<c009997c>] (do_mount+0x5e4/0x620)
r7 = 00000000 r6 = C7D53000 r5 = C05F0000 r4 = 00000000
[<c0099398>] (do_mount+0x0/0x620) from [<c0099d28>] (sys_mount+0xa8/0xf4)
[<c0099c80>] (sys_mount+0x0/0xf4) from [<c0020e00>] (ret_fast_syscall+0x0/0x2c)
r7 = 00000015 r6 = 00000000 r5 = C0ED0000 r4 = 00084050
/ # cat /proc/mtd
dev: size erasesize name
mtd0: 00020000 00020000 "X-Loader + U-Boot"
mtd1: 00020000 00020000 "params"
mtd2: 00200000 00020000 "kernel"
mtd3: 01000000 00020000 "rootfs"
mtd4: 02000000 00020000 "filesystem00"
mtd5: 04dc0000 00020000 "filesystem01"
Thank you,
Kyungmin Park
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OneNAND: soft lockup
2006-12-28 1:47 OneNAND: soft lockup Kyungmin Park
@ 2006-12-28 10:08 ` Artem Bityutskiy
2006-12-28 10:11 ` Artem Bityutskiy
0 siblings, 1 reply; 4+ messages in thread
From: Artem Bityutskiy @ 2006-12-28 10:08 UTC (permalink / raw)
To: kyungmin.park; +Cc: linux-mtd@lists.infradead.org
Hello Kyungmin,
On Thu, 2006-12-28 at 01:47 +0000, Kyungmin Park wrote:
> hmm, after patch, it has a problem.
> How can I find the soft lockup?
Well, it's about calling cond_resched() in JFFS2's loops. Please, try
this patch.
P.S. Please, consider to use git-am (-i -s options are useful) when
applying patches, in this case you will end up with correct patch
author. For example, the author of this patch is incorrect at your tree:
http://git.infradead.org/?p=users/kmpark/onenand-mtd-2.6.git;a=commit;h=fd9d42f16f1d98852a386c020dcd45d8c207d10d
For example, with the attached patch you can do:
git-am -i -s reschedule-in-loops.diff
Then press e, edit the commit message, and press y. Very handy tool.
Also, git-format-patch allows you to generate patches like that (with
From: and Subject: lines).
--
Best regards,
Artem Bityutskiy (Битюцкий Артём)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OneNAND: soft lockup
2006-12-28 10:08 ` Artem Bityutskiy
@ 2006-12-28 10:11 ` Artem Bityutskiy
0 siblings, 0 replies; 4+ messages in thread
From: Artem Bityutskiy @ 2006-12-28 10:11 UTC (permalink / raw)
To: kyungmin.park; +Cc: linux-mtd@lists.infradead.org
[-- Attachment #1: Type: text/plain, Size: 233 bytes --]
On Thu, 2006-12-28 at 12:08 +0200, Artem Bityutskiy wrote:
> Well, it's about calling cond_resched() in JFFS2's loops. Please, try
> this patch.
Attached now.
--
Best regards,
Artem Bityutskiy (Битюцкий Артём)
[-- Attachment #2: reschedule-in-loops.diff --]
[-- Type: application/mbox, Size: 1331 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* OneNAND: soft lockup
@ 2006-12-29 3:01 Kyungmin Park
0 siblings, 0 replies; 4+ messages in thread
From: Kyungmin Park @ 2006-12-29 3:01 UTC (permalink / raw)
To: Artem Bityutskiy; +Cc: linux-mtd@lists.infradead.org
Hi,
> > hmm, after patch, it has a problem.
> > How can I find the soft lockup?
>
> Well, it's about calling cond_resched() in JFFS2's loops. Please, try
> this patch.
Yes it's working. I will try to test this one during this weekend.
> P.S. Please, consider to use git-am (-i -s options are useful) when
> applying patches, in this case you will end up with correct patch
> author. For example, the author of this patch is incorrect at your tree:
> http://git.infradead.org/?p=users/kmpark/onenand-mtd-2.6.git;a=commit;h=fd9d42f16f1d98852a386c020dcd45d8c207d10d
>
> For example, with the attached patch you can do:
>
> git-am -i -s reschedule-in-loops.diff
>
> Then press e, edit the commit message, and press y. Very handy tool.
> Also, git-format-patch allows you to generate patches like that (with
> From: and Subject: lines).
Good. I don't know this command. Thank you for this info.
Best regards,
Kyungmin Park
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-12-29 3:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-28 1:47 OneNAND: soft lockup Kyungmin Park
2006-12-28 10:08 ` Artem Bityutskiy
2006-12-28 10:11 ` Artem Bityutskiy
-- strict thread matches above, loose matches on Subject: below --
2006-12-29 3:01 Kyungmin Park
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox