Kernel deadlock when using ext2/3/4 or GPFS
This document (7011397) is provided subject to the disclaimer at the end of this document.
Environment
Situation
A SLES11SP2 system using ext2/3/4 or GPFS on its exporting NFS shares may experience a kernel deadlock displaying messages similar to:
[ 2292.020015] BUG: soft lockup - CPU#0 stuck for 22s! [nfsd:3702] [...] [ 2292.020129] Call Trace: [ 2292.020154] [<ffffffff8115a3a3>] __lookup_hash+0x93/0x1d0 [ 2292.020161] [<ffffffff8115aef6>] lookup_one_len+0xb6/0xf0 [ 2292.020169] [<ffffffffa0402f58>] nfsd_unlink+0x108/0x260 [nfsd] [ 2292.020186] [<ffffffffa0409c51>] nfsd3_proc_rmdir+0x81/0x120 [nfsd] [ 2292.020199] [<ffffffffa03fb381>] nfsd_dispatch+0xb1/0x250 [nfsd] [ 2292.020211] [<ffffffffa038b483>] svc_process_common+0x333/0x620 [sunrpc] [ 2292.020228] [<ffffffffa038bab1>] svc_process+0x101/0x160 [sunrpc] [ 2292.020241] [<ffffffffa03fbb3d>] nfsd+0xcd/0x150 [nfsd] [ 2292.020249] [<ffffffff8107ade6>] kthread+0x96/0xa0 [ 2292.020260] [<ffffffff8144a4c4>] kernel_thread_helper+0x4/0x10 [ 2292.021234] DWARF2 unwinder stuck at kernel_thread_helper+0x4/0x10 [...] [ 2292.022016] [<ffffffff8107ad50>] ? kthread_worker_fn+0x190/0x190 [ 2292.022018] [<ffffffff8144a4c0>] ? gs_change+0x13/0x13 [ 2292.022020] Kernel panic - not syncing: softlockup: hung tasks [ 2292.022023] Pid: 3702, comm: nfsd Not tainted 3.0.34-0.7-default #1 [ 2292.022029] Call Trace: [ 2292.022037] [<ffffffff810048a5>] dump_trace+0x75/0x300 [ 2292.022042] [<ffffffff8143e73f>] dump_stack+0x69/0x6f [ 2292.022046] [<ffffffff8143e7d8>] panic+0x93/0x201 [ 2292.022055] [<ffffffff810bd731>] watchdog_timer_fn+0x181/0x190 [ 2292.022064] [<ffffffff8107f14e>] __run_hrtimer+0xbe/0x1a0 [ 2292.022068] [<ffffffff8107f441>] hrtimer_interrupt+0xc1/0x1e0 [ 2292.022073] [<ffffffff81020d83>] smp_apic_timer_interrupt+0x63/0xa0 [ 2292.022077] [<ffffffff81449d73>] apic_timer_interrupt+0x13/0x20 [ 2292.022746] DWARF2 unwinder stuck at apic_timer_interrupt+0x13/0x20 [...]
Resolution
Entry in the ChangeLog:
- vfs: dcache: use DCACHE_DENTRY_KILLED instead of DCACHE_DISCONNECTED in d_kill() (bnc#779699).
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:7011397
- Creation Date: 20-Nov-2012
- Modified Date:28-Sep-2022
-
- SUSE Linux Enterprise Server
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com