Re: [3.16-rc1] BUG: soft lockup - CPU#0 stuck for 23s! [kworker/u25:4:5189]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2014/06/17 10:11, Chris Mason wrote:
> 
> 
> On 06/16/2014 07:57 PM, Tsutomu Itoh wrote:
>> On 2014/06/17 8:52, Chris Mason wrote:
>>> On 06/16/2014 07:28 PM, Tsutomu Itoh wrote:
>>>> Hi Chris,
>>>>
>>>> On 2014/06/17 2:56, Chris Mason wrote:
>>>>> On 06/16/2014 02:35 AM, Tsutomu Itoh wrote:
>>>>>> I encountered soft lockup when executing 'xfstests btrfs/042' on 3.16-rc1.
>>>>>>
>>>>>
>>>>> Did we recover, or was it stuck forever?
>>>>
>>>> The following messages are repeatedly output.
>>>> And stuck forever.
>>>>
>>>> [ 1147.942181] BUG: soft lockup - CPU#0 stuck for 23s! [kworker/u25:4:5189]
>>>> [ 1147.967175] BUG: soft lockup - CPU#3 stuck for 23s! [kworker/u25:9:5194]
>>>> [ 1147.979172] BUG: soft lockup - CPU#4 stuck for 23s! [kworker/u25:15:5200]
>>>> [ 1147.991169] BUG: soft lockup - CPU#5 stuck for 23s! [kworker/u25:7:5192]
>>>> [ 1148.064153] BUG: soft lockup - CPU#6 stuck for 23s! [kworker/u26:3:3182]
>>>
>>> Can you please capture a stack trace from all the cpus?
>>>
>>
>> crash> log
>> ...
>> [ 1121.996312] BTRFS: creating UUID tree
>> [ 1122.050762] BTRFS info (device sdc5): qgroup scan completed
>> [ 1147.942181] BUG: soft lockup - CPU#0 stuck for 23s! [kworker/u25:4:5189]
>> [ 1147.949658] Modules linked in: loop ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack xt_CHECKSUM iptable_mangle bridge stp llc ip6table_filter ip6_tables ebtable_nat ebtables btrfs coretemp kvm_intel kvm xor raid6_pq crc32_pclmul crc32c_intel ghash_clmulni_intel nfsd igb microcode ptp pps_core dca iTCO_wdt shpchp auth_rpcgss iTCO_vendor_support i7core_edac pcspkr edac_core i2c_i801 lpc_ich mfd_core ipmi_si tpm_infineon ipmi_msghandler tpm_tis nfs_acl tpm acpi_power_meter lockd acpi_cpufreq sunrpc usb_storage mgag200 syscopyarea sysfillrect sysimgblt i2c_algo_bit drm_kms_helper ttm ata_generic pata_acpi drm megaraid_sas i2c_core ata_piix
>> [ 1147.949695] CPU: 0 PID: 5189 Comm: kworker/u25:4 Not tainted 3.16.0-rc1 #1
>> [ 1147.949696] Hardware name: FUJITSU-SV                       PRIMERGY                      /D2619, BIOS 6.00 Rev. 1.03.2619.N1           04/06/2010
>> [ 1147.949717] Workqueue: btrfs-endio-write normal_work_helper [btrfs]
>> [ 1147.949718] task: ffff88007408b840 ti: ffff8800740e4000 task.ti: ffff8800740e4000
>> [ 1147.949720] RIP: 0010:[<ffffffff810ba858>]  [<ffffffff810ba858>] queue_read_lock_slowpath+0x68/0x90
>> [ 1147.949725] RSP: 0018:ffff8800740e7b08  EFLAGS: 00000202
>> [ 1147.949726] RAX: 00000000000000ee RBX: 0000000000000012 RCX: 0000000000000001
>> [ 1147.949727] RDX: 00000000000000ef RSI: 0000000000000004 RDI: ffff88003db221b0
>> [ 1147.949728] RBP: ffff8800740e7b08 R08: 0000000000000001 R09: ffff880071486b58
>> [ 1147.949729] R10: 0000000000000000 R11: 0000000000000000 R12: ffff8800715d1900
>> [ 1147.949730] R13: 0000000000000000 R14: 0000000000000003 R15: 0000000000000002
>> [ 1147.949732] FS:  0000000000000000(0000) GS:ffff88007dc00000(0000) knlGS:0000000000000000
>> [ 1147.949733] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
>> [ 1147.949734] CR2: 00000036c97b9490 CR3: 0000000001c0e000 CR4: 00000000000007f0
>> [ 1147.949735] Stack:
>> [ 1147.949736]  ffff8800740e7b18 ffffffff8166bcbc ffff8800740e7b38 ffffffffa070ffe4
>> [ 1147.949738]  0000000000000001 ffffffffffffffe8 ffff8800740e7b58 ffffffffa06b0c2a
>> [ 1147.949740]  ffff8800719de360 0000000000000000 ffff8800740e7bf8 ffffffffa06b5e32
>> [ 1147.949742] Call Trace:
>> [ 1147.949748]  [<ffffffff8166bcbc>] _raw_read_lock+0x1c/0x30
>> [ 1147.949760]  [<ffffffffa070ffe4>] btrfs_clear_lock_blocking_rw+0x44/0x150 [btrfs]
>> [ 1147.949767]  [<ffffffffa06b0c2a>] btrfs_clear_path_blocking+0x3a/0x80 [btrfs]
>> [ 1147.949774]  [<ffffffffa06b5e32>] btrfs_search_slot+0x702/0xa10 [btrfs]
> 
> Also, which line of ctree.c is this call?

/Build/linux-3.16-rc1/fs/btrfs/ctree.c: 2898
0xffffffffa06b5e10 <btrfs_search_slot+0x6e0>:   mov    %rbx,%rdi
0xffffffffa06b5e13 <btrfs_search_slot+0x6e3>:   callq  0xffffffffa06b0b70 <btrfs_set_path_blocking>
/Build/linux-3.16-rc1/fs/btrfs/ctree.c: 2899
0xffffffffa06b5e18 <btrfs_search_slot+0x6e8>:   mov    -0x30(%rbp),%rdi
0xffffffffa06b5e1c <btrfs_search_slot+0x6ec>:   callq  0xffffffffa0710450 <btrfs_tree_lock>
/Build/linux-3.16-rc1/fs/btrfs/ctree.c: 2900
0xffffffffa06b5e21 <btrfs_search_slot+0x6f1>:   mov    -0x30(%rbp),%rsi
0xffffffffa06b5e25 <btrfs_search_slot+0x6f5>:   mov    $0x1,%edx
0xffffffffa06b5e2a <btrfs_search_slot+0x6fa>:   mov    %rbx,%rdi
0xffffffffa06b5e2d <btrfs_search_slot+0x6fd>:   callq  0xffffffffa06b0bf0 <btrfs_clear_path_blocking>
0xffffffffa06b5e32 <btrfs_search_slot+0x702>:   jmpq   0xffffffffa06b5b54 <btrfs_search_slot+0x424>
0xffffffffa06b5e37 <btrfs_search_slot+0x707>:   nopw   0x0(%rax,%rax,1)


2686 int btrfs_search_slot(struct btrfs_trans_handle *trans, struct btrfs_root
2687                       *root, struct btrfs_key *key, struct btrfs_path *p, int
2688                       ins_len, int cow)
2689 {
2690         struct extent_buffer *b;
2691         int slot;
2692         int ret;
2693         int err;
2694         int level;
2695         int lowest_unlock = 1;
2696         int root_lock;
...
...
2892
2893                         if (!p->skip_locking) {
2894                                 level = btrfs_header_level(b);
2895                                 if (level <= write_lock_level) {
2896                                         err = btrfs_try_tree_write_lock(b);
2897                                         if (!err) {
2898                                                 btrfs_set_path_blocking(p);
2899                                                 btrfs_tree_lock(b);
2900                                                 btrfs_clear_path_blocking(p, b,    <----- here
2901                                                                   BTRFS_WRITE_LOCK);
2902                                         }
2903                                         p->locks[level] = BTRFS_WRITE_LOCK;
2904                                 } else {
2905                                         err = btrfs_try_tree_read_lock(b);
2906                                         if (!err) {
2907                                                 btrfs_set_path_blocking(p);
2908                                                 btrfs_tree_read_lock(b);
2909                                                 btrfs_clear_path_blocking(p, b,
2910                                                                   BTRFS_READ_LOCK);
2911                                         }


--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux