I think this is the same kernel I've been using a long time on
WZR-HP-G300NH, (that is, not the preemptive options I
mentioned yesterday), but I did recently turn on debugging.
I think this may help explain some occasional flash failures
we've been seeing (this is the only one with a serial port).

During sysupgrade:

[   66.540000]
[   66.540000] =======================================================
[   66.540000] [ INFO: possible circular locking dependency detected ]
[   66.540000] 2.6.39.4 #6
[   66.540000] -------------------------------------------------------
[   66.540000] find/1417 is trying to acquire lock:
[   66.540000]  (&mm->mmap_sem){++++++}, at: [<800cf728>] might_fault+0x38/0x90
[   66.540000]
[   66.540000] but task is already holding lock:
[   66.540000]  (&f->sem){+.+.+.}, at: [<8013e630>] jffs2_readdir+0x10c/0x1cc
[   66.540000]
[   66.540000] which lock already depends on the new lock.
[   66.540000]
[   66.540000]
[   66.540000] the existing dependency chain (in reverse order) is:
[   66.540000]
[   66.540000] -> #1 (&f->sem){+.+.+.}:
[   66.540000]        [<800a5e18>] lock_acquire+0x60/0x88
[   66.540000]        [<8027f8a4>] mutex_lock_nested+0x54/0x30c
[   66.540000]        [<8013ede0>] jffs2_readpage+0x2c/0x6c
[   66.540000]        [<800c0fa4>] __do_page_cache_readahead+0x214/0x27c
[   66.540000]        [<800c1300>] ra_submit+0x28/0x34
[   66.540000]        [<800b9ff0>] filemap_fault+0x1bc/0x414
[   66.540000]        [<800cfab8>] __do_fault+0x70/0x44c
[   66.540000]        [<800d2e1c>] handle_pte_fault+0x380/0x78c
[   66.540000]        [<800d32dc>] handle_mm_fault+0xb4/0xe0
[   66.540000]        [<8006c000>] do_page_fault+0x100/0x2f0
[   66.540000]        [<80062880>] ret_from_exception+0x0/0xc
[   66.540000]
[   66.540000] -> #0 (&mm->mmap_sem){++++++}:
[   66.540000]        [<800a51b0>] __lock_acquire+0x10d0/0x1818
[   66.540000]        [<800a5e18>] lock_acquire+0x60/0x88
[   66.540000]        [<800cf750>] might_fault+0x60/0x90
[   66.540000]        [<800f8038>] filldir64+0xe8/0x158
[   66.540000]        [<8013e68c>] jffs2_readdir+0x168/0x1cc
[   66.540000]        [<800f8364>] vfs_readdir+0x88/0xd8
[   66.540000]        [<800f8588>] sys_getdents64+0x74/0xdc
[   66.540000]        [<8006a178>] stack_done+0x20/0x40
[   66.540000]
[   66.540000] other info that might help us debug this:
[   66.540000]
[   66.540000] 2 locks held by find/1417:
[ 66.540000] #0: (&sb->s_type->i_mutex_key#7){+.+.+.}, at: [<800f8334>] vfs_readdir+0x58/0xd8
[   66.540000]  #1:  (&f->sem){+.+.+.}, at: [<8013e630>] 
jffs2_readdir+0x10c/0x1cc
[   66.540000]
[   66.540000] stack backtrace:
[   66.540000] Call Trace:
[   66.540000] [<8027dd14>] dump_stack+0x8/0x34
[   66.540000] [<800a2b6c>] print_circular_bug+0xd4/0xf8
[   66.540000] [<800a51b0>] __lock_acquire+0x10d0/0x1818
[   66.540000] [<800a5e18>] lock_acquire+0x60/0x88
[   66.540000] [<800cf750>] might_fault+0x60/0x90
[   66.540000] [<800f8038>] filldir64+0xe8/0x158
[   66.540000] [<8013e68c>] jffs2_readdir+0x168/0x1cc
[   66.540000] [<800f8364>] vfs_readdir+0x88/0xd8
[   66.540000] [<800f8588>] sys_getdents64+0x74/0xdc




_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to