Bug 14741 - inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage
Summary: inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage
Status: RESOLVED CODE_FIX
Alias: None
Product: File System
Classification: Unclassified
Component: XFS (show other bugs)
Hardware: i386 Linux
: P1 normal
Assignee: Christoph Hellwig
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-05 14:21 UTC by yury
Modified: 2010-02-09 22:13 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.32
Tree: Mainline
Regression: No


Attachments

Description yury 2009-12-05 14:21:04 UTC
in dmesg:

inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage
kswapd0/215 [HC0[0]:SC0[0]:HE1:SE1] takes:
 (&(&ip->i_iolock)->mr_lock){++++?+}, at: [<c110920d>] xfs_ilock+0x22/0x67
{RECLAIM_FS-ON-W} state was registered at:
  [<c10508e3>] mark_held_locks+0x43/0x5b
  [<c1050992>] lockdep_trace_alloc+0x97/0xb4
  [<c109c0b2>] kmem_cache_alloc+0x24/0x106
  [<c1121675>] kmem_zone_alloc+0x4d/0x8d
  [<c11216c2>] kmem_zone_zalloc+0xd/0x3d
  [<c111c3c5>] _xfs_trans_alloc+0x24/0x5b
  [<c111c5ac>] xfs_trans_alloc+0x81/0x89
  [<c1120b1b>] xfs_setattr+0x2e0/0x674
  [<c1127526>] xfs_vn_setattr+0x12/0x16
  [<c10b3a62>] notify_change+0x14b/0x237
  [<c109f78c>] do_truncate+0x6b/0x84
  [<c10a9f8c>] may_open+0x17c/0x182
  [<c10abd8f>] do_filp_open+0x3bd/0x73a
  [<c109eced>] do_sys_open+0x44/0xbd
  [<c109eda8>] sys_open+0x1e/0x26
  [<c1003128>] sysenter_do_call+0x12/0x3c
irq event stamp: 102767
hardirqs last  enabled at (102767): [<c128ef1f>] _spin_unlock_irqrestore+0x3f/0x4c
hardirqs last disabled at (102766): [<c128f166>] _spin_lock_irqsave+0x1b/0x65
softirqs last  enabled at (101918): [<c102f37b>] __do_softirq+0x145/0x14d
softirqs last disabled at (101897): [<c102f3bb>] do_softirq+0x38/0x5d

other info that might help us debug this:
2 locks held by kswapd0/215:
 #0:  (shrinker_rwsem){++++..}, at: [<c1082d93>] shrink_slab+0x24/0x123
 #1:  (iprune_sem){++++.-}, at: [<c10b2e36>] shrink_icache_memory+0x36/0x1cf

stack backtrace:
Pid: 215, comm: kswapd0 Not tainted 2.6.32 #15
Call Trace:
 [<c128ca0f>] ? printk+0xf/0x18
 [<c1050406>] print_usage_bug+0x152/0x15e
 [<c10506a2>] mark_lock+0x290/0x48e
 [<c1051358>] ? check_usage_forwards+0x0/0xa9
 [<c1052129>] __lock_acquire+0x6bc/0x1450
 [<c1109362>] ? xfs_ireclaim+0x48/0x96
 [<c1052ca8>] ? __lock_acquire+0x123b/0x1450
 [<c1109362>] ? xfs_ireclaim+0x48/0x96
 [<c10075de>] ? sched_clock+0x8/0xb
 [<c1046585>] ? sched_clock_local+0x17/0x103
 [<c1052f50>] lock_acquire+0x93/0xb0
 [<c110920d>] ? xfs_ilock+0x22/0x67
 [<c10455bb>] down_write_nested+0x22/0x5c
 [<c110920d>] ? xfs_ilock+0x22/0x67
 [<c110920d>] xfs_ilock+0x22/0x67
 [<c1109397>] xfs_ireclaim+0x7d/0x96
 [<c112a376>] xfs_reclaim_inode+0x110/0x119
 [<c111e77c>] xfs_reclaim+0x79/0x88
 [<c1128d74>] xfs_fs_destroy_inode+0x17/0x30
 [<c10b2d13>] destroy_inode+0x1f/0x30
 [<c10b2dd3>] dispose_list+0xaf/0xdc
 [<c10b2fa2>] shrink_icache_memory+0x1a2/0x1cf
 [<c1082e3f>] shrink_slab+0xd0/0x123
 [<c108324a>] kswapd+0x3b8/0x4fa
 [<c108127f>] ? isolate_pages_global+0x0/0x1a1
 [<c1042347>] ? autoremove_wake_function+0x0/0x33
 [<c1082e92>] ? kswapd+0x0/0x4fa
 [<c1042126>] kthread+0x60/0x65
 [<c10420c6>] ? kthread+0x0/0x65
 [<c1003a4f>] kernel_thread_helper+0x7/0x1a

feel free to ask if i can provide some additional information.
Comment 1 Christoph Hellwig 2010-02-09 22:13:38 UTC
Fixed since 2.6.33-rc1 - this actually was a false positive and we added some lockdep annotations to prevent the warning.

Note You need to log in before you can comment on or make changes to this bug.