[<prev] [next>] [day] [month] [year] [list]
Message-ID: <1426215567.6711.223.camel@intel.com>
Date: Fri, 13 Mar 2015 10:59:27 +0800
From: Huang Ying <ying.huang@...el.com>
To: Dave Chinner <dchinner@...hat.com>
Cc: Josef Bacik <jbacik@...com>, LKML <linux-kernel@...r.kernel.org>,
LKP ML <lkp@...org>
Subject: [LKP] [inode] 2709a56a0a0: INFO: possible circular locking
dependency detected ]
FYI, we noticed the below changes on
git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-next.git superblock-scaling
commit 2709a56a0a029b769676cf270b1daa046edbd9cb ("inode: convert per-sb inode list to a list_lru")
+----------------------------------------------------+------------+------------+
| | f545223a1c | 2709a56a0a |
+----------------------------------------------------+------------+------------+
| boot_successes | 20 | 0 |
| boot_failures | 0 | 15 |
| INFO:possible_circular_locking_dependency_detected | 0 | 15 |
| backtrace:kern_mount_data | 0 | 15 |
| backtrace:bdev_cache_init | 0 | 15 |
| backtrace:vfs_caches_init | 0 | 15 |
+----------------------------------------------------+------------+------------+
wfg: rebooting
[ 4.857686]
[ 4.857848] ======================================================
[ 4.858377] [ INFO: possible circular locking dependency detected ]
[ 4.858885] 4.0.0-rc3-00299-g36e71fc #134 Not tainted
[ 4.859322] -------------------------------------------------------
[ 4.859806] reboot/137 is trying to acquire lock:
[ 4.860009] (&sb->s_type->i_lock_key#2){+.+...}, at: [<c1187878>] bdev_iter_cb+0x18/0xa0
[ 4.860009]
[ 4.860009] but task is already holding lock:
[ 4.860009] (&(&lru->node[i].lock)->rlock){+.+...}, at: [<c1129eec>] __list_lru_walk_one+0x1c/0x110
[ 4.860009]
[ 4.860009] which lock already depends on the new lock.
[ 4.860009]
[ 4.860009]
[ 4.860009] the existing dependency chain (in reverse order) is:
[ 4.860009]
-> #2 (&(&lru->node[i].lock)->rlock){+.+...}:
[ 4.860009] [<c10bbd7e>] lock_acquire+0x6e/0xa0
[ 4.860009] [<c207e693>] _raw_spin_lock+0x23/0x40
[ 4.860009] [<c1129ff9>] list_lru_add+0x19/0x60
[ 4.860009] [<c116bbf7>] dput+0x2c7/0x350
[ 4.860009] [<c1156c64>] __fput+0x104/0x1b0
[ 4.860009] [<c1156d38>] ____fput+0x8/0x10
[ 4.860009] [<c1094769>] task_work_run+0x99/0xc0
[ 4.860009] [<c1037f28>] do_notify_resume+0x58/0x60
[ 4.860009] [<c207f2aa>] work_notifysig+0x35/0x3b
[ 4.860009]
-> #1 (&(&dentry->d_lockref.lock)->rlock){+.+...}:
[ 4.860009] [<c10bbd7e>] lock_acquire+0x6e/0xa0
[ 4.860009] [<c207e693>] _raw_spin_lock+0x23/0x40
[ 4.860009] [<c1169aff>] __d_instantiate+0x1f/0xe0
[ 4.860009] [<c116c8bb>] d_instantiate+0x2b/0x60
[ 4.860009] [<c117ab11>] mount_pseudo+0xd1/0x140
[ 4.860009] [<c1187239>] bd_mount+0x19/0x20
[ 4.860009] [<c1158836>] mount_fs+0x26/0x150
[ 4.860009] [<c11746c3>] vfs_kern_mount+0x43/0x130
[ 4.860009] [<c1177620>] kern_mount_data+0x10/0x30
[ 4.860009] [<c288068a>] bdev_cache_init+0x49/0x69
[ 4.860009] [<c28801e0>] vfs_caches_init+0x8a/0xe5
[ 4.860009] [<c2864ab6>] start_kernel+0x371/0x3a0
[ 4.860009] [<c28642bb>] i386_start_kernel+0x85/0x89
[ 4.860009]
-> #0 (&sb->s_type->i_lock_key#2){+.+...}:
[ 4.860009] [<c10bb34a>] __lock_acquire+0x1a5a/0x1c90
[ 4.860009] [<c10bbd7e>] lock_acquire+0x6e/0xa0
[ 4.860009] [<c207e693>] _raw_spin_lock+0x23/0x40
[ 4.860009] [<c1187878>] bdev_iter_cb+0x18/0xa0
[ 4.860009] [<c1129f2e>] __list_lru_walk_one+0x5e/0x110
[ 4.860009] [<c112a16e>] list_lru_walk_node+0xe/0x10
[ 4.860009] [<c1189338>] iterate_bdevs+0x38/0x50
[ 4.860009] [<c1180b42>] sys_sync+0x52/0x80
[ 4.860009] [<c207f19b>] syscall_after_call+0x0/0x4
[ 4.860009]
[ 4.860009] other info that might help us debug this:
[ 4.860009]
[ 4.860009] Chain exists of:
&sb->s_type->i_lock_key#2 --> &(&dentry->d_lockref.lock)->rlock --> &(&lru->node[i].lock)->rlock
[ 4.860009] Possible unsafe locking scenario:
[ 4.860009]
[ 4.860009] CPU0 CPU1
[ 4.860009] ---- ----
[ 4.860009] lock(&(&lru->node[i].lock)->rlock);
[ 4.860009] lock(&(&dentry->d_lockref.lock)->rlock);
[ 4.860009] lock(&(&lru->node[i].lock)->rlock);
[ 4.860009] lock(&sb->s_type->i_lock_key#2);
[ 4.860009]
[ 4.860009] *** DEADLOCK ***
[ 4.860009]
[ 4.860009] 1 lock held by reboot/137:
[ 4.860009] #0: (&(&lru->node[i].lock)->rlock){+.+...}, at: [<c1129eec>] __list_lru_walk_one+0x1c/0x110
[ 4.860009]
[ 4.860009] stack backtrace:
[ 4.860009] CPU: 0 PID: 137 Comm: reboot Not tainted 4.0.0-rc3-00299-g36e71fc #134
[ 4.860009] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[ 4.860009] 00000000 00000000 cd635e44 c206a841 c2d79720 cd635e74 c10b67c0 c25264e1
[ 4.860009] c252647e c2526461 c2526476 c2526461 c2f77e60 cd656000 cd6564b4 cd656000
[ 4.860009] cd65649c cd635ee0 c10bb34a cd65649c cd656000 00000001 00000000 00000000
[ 4.860009] Call Trace:
[ 4.860009] [<c206a841>] dump_stack+0x48/0x60
[ 4.860009] [<c10b67c0>] print_circular_bug+0x190/0x280
[ 4.860009] [<c10bb34a>] __lock_acquire+0x1a5a/0x1c90
[ 4.860009] [<c10bbd7e>] lock_acquire+0x6e/0xa0
[ 4.860009] [<c1187878>] ? bdev_iter_cb+0x18/0xa0
[ 4.860009] [<c207e693>] _raw_spin_lock+0x23/0x40
[ 4.860009] [<c1187878>] ? bdev_iter_cb+0x18/0xa0
[ 4.860009] [<c1187878>] bdev_iter_cb+0x18/0xa0
[ 4.860009] [<c1187860>] ? block_llseek+0xf0/0xf0
[ 4.860009] [<c1129f2e>] __list_lru_walk_one+0x5e/0x110
[ 4.860009] [<c1187860>] ? block_llseek+0xf0/0xf0
[ 4.860009] [<c112a16e>] list_lru_walk_node+0xe/0x10
[ 4.860009] [<c1189338>] iterate_bdevs+0x38/0x50
[ 4.860009] [<c11809d0>] ? fdatawait_one_bdev+0x10/0x10
[ 4.860009] [<c1180b42>] sys_sync+0x52/0x80
[ 4.860009] [<c207f19b>] syscall_call+0x7/0x7
[ 4.896543] Unregister pv shared memory for cpu 0
[ 4.897080] spin_lock-torture: Unscheduled system shutdown detected
[ 4.897605] no ifx modem active;
Thanks,
Ying Huang
View attachment "config-4.0.0-rc2-00137-g2709a56" of type "text/plain" (98572 bytes)
View attachment ".dmesg" of type "text/plain" (102264 bytes)
_______________________________________________
LKP mailing list
LKP@...ux.intel.com
Powered by blists - more mailing lists