[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20120914133542.GA21830@localhost>
Date: Fri, 14 Sep 2012 21:35:42 +0800
From: Fengguang Wu <fengguang.wu@...el.com>
To: Linux Memory Management List <linux-mm@...ck.org>
Cc: Andrea Arcangeli <aarcange@...hat.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: huge_pte_alloc: inconsistent {IN-RECLAIM_FS-W} -> {RECLAIM_FS-ON-W}
usage.
Greetings,
I got this one shot warning:
[ 192.575049] 3.6.0-rc4+ #5699 Not tainted
[ 192.575734] ---------------------------------
[ 192.576077] inconsistent {IN-RECLAIM_FS-W} -> {RECLAIM_FS-ON-W} usage.
[ 192.576077] trinity-child0/7738 [HC0[0]:SC0[0]:HE1:SE1] takes:
[ 192.576077] (&mapping->i_mmap_mutex){+.+.?.}, at: [<ffffffff81075db9>] huge_pte_alloc+0x2c3/0x32b
[ 192.576077] {IN-RECLAIM_FS-W} state was registered at:
[ 192.576077] [<ffffffff810d5bdc>] __lock_acquire+0x35f/0xd04
[ 192.576077] [<ffffffff810d69de>] lock_acquire+0x9b/0x10d
[ 192.576077] [<ffffffff826fb7df>] __mutex_lock_common+0x47/0x35f
[ 192.576077] [<ffffffff826fbbca>] mutex_lock_nested+0x2f/0x36
[ 192.576077] [<ffffffff811589e2>] page_referenced+0x15a/0x1fb
[ 192.576077] [<ffffffff8113ef50>] shrink_page_list+0x1a6/0x71c
[ 192.576077] [<ffffffff8113f82e>] shrink_inactive_list+0x1c9/0x31a
[ 192.576077] [<ffffffff8113ff69>] shrink_lruvec+0x33f/0x472
[ 192.576077] [<ffffffff8114022c>] do_try_to_free_pages+0x190/0x39a
[ 192.576077] [<ffffffff811405cc>] try_to_free_pages+0xbc/0x123
[ 192.576077] [<ffffffff811377d8>] __alloc_pages_nodemask+0x433/0x6f9
[ 192.576077] [<ffffffff8116a120>] kmem_getpages+0x6b/0x138
[ 192.576077] [<ffffffff8116c1b4>] fallback_alloc+0x138/0x202
[ 192.576077] [<ffffffff8116c067>] ____cache_alloc_node+0x12b/0x140
[ 192.576077] [<ffffffff8116c433>] kmem_cache_alloc+0x93/0x151
[ 192.576077] [<ffffffff81187696>] alloc_inode+0x30/0x78
[ 192.576077] [<ffffffff811888b7>] iget_locked+0x69/0x10d
[ 192.576077] [<ffffffff811ce3d2>] sysfs_get_inode+0x1a/0x140
[ 192.576077] [<ffffffff811d00c5>] sysfs_lookup+0x87/0xb2
[ 192.576077] [<ffffffff8117bb84>] lookup_real+0x2c/0x47
[ 192.576077] [<ffffffff8117c04a>] __lookup_hash+0x33/0x3a
[ 192.576077] [<ffffffff8117ce4c>] walk_component+0x77/0x1a4
[ 192.576077] [<ffffffff8117cfaf>] lookup_last+0x36/0x38
[ 192.576077] [<ffffffff8117dae9>] path_lookupat+0x90/0x29d
[ 192.576077] [<ffffffff8117dd1e>] do_path_lookup+0x28/0x92
[ 192.576077] [<ffffffff8117fd71>] user_path_at_empty+0x57/0x95
[ 192.576077] [<ffffffff8117fdc0>] user_path_at+0x11/0x13
[ 192.576077] [<ffffffff81176d41>] vfs_fstatat+0x35/0x66
[ 192.576077] [<ffffffff81176d90>] vfs_lstat+0x1e/0x20
[ 192.576077] [<ffffffff811770e9>] sys_newlstat+0x1a/0x35
[ 192.576077] [<ffffffff82704d10>] tracesys+0xdd/0xe2
[ 192.576077] irq event stamp: 14521
[ 192.576077] hardirqs last enabled at (14521): [<ffffffff826fbab4>] __mutex_lock_common+0x31c/0x35f
[ 192.576077] hardirqs last disabled at (14520): [<ffffffff826fb836>] __mutex_lock_common+0x9e/0x35f
[ 192.576077] softirqs last enabled at (14516): [<ffffffff8231b6f5>] lock_sock_nested+0x75/0x80
[ 192.576077] softirqs last disabled at (14514): [<ffffffff826fd953>] _raw_spin_lock_bh+0x18/0x6f
[ 192.576077]
[ 192.576077] other info that might help us debug this:
[ 192.576077] Possible unsafe locking scenario:
[ 192.576077]
[ 192.576077] CPU0
[ 192.576077] ----
[ 192.576077] lock(&mapping->i_mmap_mutex);
[ 192.576077] <Interrupt>
[ 192.576077] lock(&mapping->i_mmap_mutex);
[ 192.576077]
[ 192.576077] *** DEADLOCK ***
[ 192.576077]
[ 192.576077] 3 locks held by trinity-child0/7738:
[ 192.576077] #0: (sk_lock-AF_ATMPVC){+.+.+.}, at: [<ffffffff824e88cc>] pvc_getsockopt+0x31/0x60
[ 192.576077] #1: (&mm->mmap_sem){++++++}, at: [<ffffffff827013a9>] do_page_fault+0x170/0x3a9
[ 192.576077] #2: (&mapping->i_mmap_mutex){+.+.?.}, at: [<ffffffff81075db9>] huge_pte_alloc+0x2c3/0x32b
[ 192.576077]
[ 192.576077] stack backtrace:
[ 192.576077] Pid: 7738, comm: trinity-child0 Not tainted 3.6.0-rc4+ #5699
[ 192.576077] Call Trace:
[ 192.576077] [<ffffffff826d28ff>] print_usage_bug+0x1f7/0x208
[ 192.576077] [<ffffffff81054745>] ? save_stack_trace+0x2c/0x49
[ 192.576077] [<ffffffff810d5047>] ? print_shortest_lock_dependencies+0x185/0x185
[ 192.576077] [<ffffffff810d5786>] mark_lock+0x11b/0x212
[ 192.576077] [<ffffffff810d6d20>] mark_held_locks+0x71/0x99
[ 192.576077] [<ffffffff810d73a5>] lockdep_trace_alloc+0xb9/0xc3
[ 192.576077] [<ffffffff81137443>] __alloc_pages_nodemask+0x9e/0x6f9
[ 192.576077] [<ffffffff810d5698>] ? mark_lock+0x2d/0x212
[ 192.576077] [<ffffffff810d3388>] ? ftrace_raw_event_lock+0xb9/0xc8
[ 192.576077] [<ffffffff810d6d20>] ? mark_held_locks+0x71/0x99
[ 192.576077] [<ffffffff826fbab4>] ? __mutex_lock_common+0x31c/0x35f
[ 192.576077] [<ffffffff81075db9>] ? huge_pte_alloc+0x2c3/0x32b
[ 192.576077] [<ffffffff81164eae>] alloc_pages_current+0xc3/0xe0
[ 192.576077] [<ffffffff81075db9>] ? huge_pte_alloc+0x2c3/0x32b
[ 192.576077] [<ffffffff81133cda>] __get_free_pages+0x16/0x43
[ 192.576077] [<ffffffff81133d1d>] get_zeroed_page+0x16/0x18
[ 192.576077] [<ffffffff811500d1>] __pmd_alloc+0x20/0xa3
[ 192.576077] [<ffffffff8107596b>] pmd_alloc+0x4c/0x57
[ 192.576077] [<ffffffff81075d47>] huge_pte_alloc+0x251/0x32b
[ 192.576077] [<ffffffff81163544>] hugetlb_fault+0xcf/0x575
[ 192.576077] [<ffffffff827013a9>] ? do_page_fault+0x170/0x3a9
[ 192.576077] [<ffffffff82701334>] ? do_page_fault+0xfb/0x3a9
[ 192.576077] [<ffffffff811501c8>] handle_mm_fault+0x44/0xcc
[ 192.576077] [<ffffffff82701598>] do_page_fault+0x35f/0x3a9
[ 192.576077] [<ffffffff8104f55b>] ? native_sched_clock+0x33/0x35
[ 192.576077] [<ffffffff81116de4>] ? irq_trace+0x14/0x21
[ 192.576077] [<ffffffff811174fc>] ? time_hardirqs_off+0x26/0x2a
[ 192.576077] [<ffffffff810b9dba>] ? local_clock+0x3b/0x52
[ 192.576077] [<ffffffff810d31bd>] ? trace_hardirqs_off+0xd/0xf
[ 192.576077] [<ffffffff810d3131>] ? trace_hardirqs_off_caller+0x1f/0x9e
[ 192.576077] [<ffffffff81116de4>] ? irq_trace+0x14/0x21
[ 192.576077] [<ffffffff811174fc>] ? time_hardirqs_off+0x26/0x2a
[ 192.576077] [<ffffffff826fe826>] ? error_sti+0x5/0x6
[ 192.576077] [<ffffffff810d3151>] ? trace_hardirqs_off_caller+0x3f/0x9e
[ 192.576077] [<ffffffff8167c61d>] ? trace_hardirqs_off_thunk+0x3a/0x3c
[ 192.576077] [<ffffffff82700ed4>] do_async_page_fault+0x31/0x5e
[ 192.576077] [<ffffffff826fe605>] async_page_fault+0x25/0x30
[ 192.576077] [<ffffffff810b9d98>] ? local_clock+0x19/0x52
[ 192.576077] [<ffffffff8167b5fc>] ? __get_user_4+0x1c/0x30
[ 192.576077] [<ffffffff824eba1b>] ? vcc_getsockopt+0x33/0x194
[ 192.576077] [<ffffffff824e88cc>] ? pvc_getsockopt+0x31/0x60
[ 192.576077] [<ffffffff81111772>] ? trace_nowake_buffer_unlock_commit+0xc/0xe
[ 192.576077] [<ffffffff824e88e2>] pvc_getsockopt+0x47/0x60
[ 192.576077] [<ffffffff82319319>] sys_getsockopt+0x7a/0x98
[ 192.576077] [<ffffffff82704d10>] tracesys+0xdd/0xe2
Thanks,
Fengguang
View attachment "dmesg-kvm-waimea-3443-2012-09-13-19-28-32-3.6.0-rc4+-5699" of type "text/plain" (231957 bytes)
View attachment "config-3.6.0-rc4+" of type "text/plain" (113610 bytes)
Powered by blists - more mailing lists