diff mbox

[0/9,v2] scope GFP_NOFS api

Message ID 1481900758.31172.20.camel@gmail.com
State Not Applicable, archived
Headers show

Commit Message

Mike Galbraith Dec. 16, 2016, 3:05 p.m. UTC
On Thu, 2016-12-15 at 15:07 +0100, Michal Hocko wrote:
> Hi,
> I have posted the previous version here [1]. Since then I have added a
> support to suppress reclaim lockdep warnings (__GFP_NOLOCKDEP) to allow
> removing GFP_NOFS usage motivated by the lockdep false positives. On top
> of that I've tried to convert few KM_NOFS usages to use the new flag in
> the xfs code base. This would need a review from somebody familiar with
> xfs of course.

The wild ass guess below prevents the xfs explosion below when running
ltp zram tests.

---
 fs/xfs/kmem.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


[  108.775501] ------------[ cut here ]------------
[  108.775503] kernel BUG at fs/xfs/kmem.h:48!
[  108.775504] invalid opcode: 0000 [#1] SMP
[  108.775505] Dumping ftrace buffer:
[  108.775508]    (ftrace buffer empty)
[  108.775508] Modules linked in: xfs(E) libcrc32c(E) btrfs(E) xor(E) raid6_pq(E) zram(E) ebtable_filter(E) ebtables(E) fuse(E) bridge(E) stp(E) llc(E) iscsi_ibft(E) iscsi_boot_sysfs(E) ip6t_REJECT(E) xt_tcpudp(E) nf_conntrack_ipv6(E) nf_defrag_ipv6(E) ip6table_raw(E) ipt_REJECT(E) iptable_raw(E) iptable_filter(E) ip6table_mangle(E) nf_conntrack_netbios_ns(E) nf_conntrack_broadcast(E) nf_conntrack_ipv4(E) nf_defrag_ipv4(E) ip_tables(E) xt_conntrack(E) nf_conntrack(E) ip6table_filter(E) ip6_tables(E) x_tables(E) nls_iso8859_1(E) nls_cp437(E) x86_pkg_temp_thermal(E) intel_powerclamp(E) coretemp(E) kvm_intel(E) nfsd(E) kvm(E) auth_rpcgss(E) nfs_acl(E) lockd(E) snd_hda_codec_realtek(E) snd_hda_codec_hdmi(E) pl2303(E) grace(E) snd_hda_codec_generic(E) usbserial(E) irqbypass(E) snd_hda_intel(E) snd_hda_codec(E)
[  108.775523]  snd_hwdep(E) sunrpc(E) snd_hda_core(E) crct10dif_pclmul(E) mei_me(E) mei(E) serio_raw(E) snd_pcm(E) crc32_pclmul(E) snd_timer(E) crc32c_intel(E) aesni_intel(E) aes_x86_64(E) crypto_simd(E) iTCO_wdt(E) iTCO_vendor_support(E) lpc_ich(E) mfd_core(E) snd(E) soundcore(E) joydev(E) fan(E) shpchp(E) tpm_infineon(E) cryptd(E) battery(E) thermal(E) pcspkr(E) glue_helper(E) usblp(E) intel_smartconnect(E) i2c_i801(E) efivarfs(E) hid_logitech_hidpp(E) hid_logitech_dj(E) hid_generic(E) usbhid(E) nouveau(E) wmi(E) i2c_algo_bit(E) ahci(E) libahci(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) fb_sys_fops(E) ehci_pci(E) xhci_pci(E) ttm(E) ehci_hcd(E) xhci_hcd(E) r8169(E) libata(E) mii(E) drm(E) usbcore(E) fjes(E) video(E) button(E) af_packet(E) sd_mod(E) vfat(E) fat(E) ext4(E) crc16(E)
[  108.775540]  jbd2(E) mbcache(E) dm_mod(E) loop(E) sg(E) scsi_mod(E) autofs4(E)
[  108.775544] CPU: 5 PID: 4495 Comm: mount Tainted: G            E   4.10.0-master #4
[  108.775545] Hardware name: MEDION MS-7848/MS-7848, BIOS M7848W08.20C 09/23/2013
[  108.775546] task: ffff8803f9e54e00 task.stack: ffffc900018fc000
[  108.775565] RIP: 0010:kmem_flags_convert.part.0+0x4/0x6 [xfs]
[  108.775565] RSP: 0018:ffffc900018ffcd8 EFLAGS: 00010202
[  108.775566] RAX: ffff8803f630a800 RBX: ffff8803f6b20000 RCX: 0000000000001000
[  108.775567] RDX: 0000000000001000 RSI: 0000000000000031 RDI: 00000000000000b0
[  108.775568] RBP: ffffc900018ffcd8 R08: 0000000000019fe0 R09: ffff8803f6b20000
[  108.775568] R10: 0000000000000005 R11: 0000000000010641 R12: ffff88041e21ea00
[  108.775569] R13: ffff8803f6b20000 R14: 0000000000000000 R15: 00000000fffffff4
[  108.775570] FS:  00007f1cbee9e840(0000) GS:ffff88041ed40000(0000) knlGS:0000000000000000
[  108.775571] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  108.775571] CR2: 00007f5d4b6ed000 CR3: 00000003fbf13000 CR4: 00000000001406e0
[  108.775572] Call Trace:
[  108.775588]  kmem_alloc+0x100/0x100 [xfs]
[  108.775591]  ? kstrndup+0x49/0x60
[  108.775605]  xfs_alloc_buftarg+0x23/0xd0 [xfs]
[  108.775619]  xfs_open_devices+0x8c/0x170 [xfs]
[  108.775621]  ? sb_set_blocksize+0x1d/0x50
[  108.775633]  xfs_fs_fill_super+0x234/0x580 [xfs]
[  108.775635]  mount_bdev+0x184/0x1c0
[  108.775647]  ? xfs_test_remount_options.isra.15+0x60/0x60 [xfs]
[  108.775658]  xfs_fs_mount+0x15/0x20 [xfs]
[  108.775659]  mount_fs+0x15/0x90
[  108.775661]  vfs_kern_mount+0x67/0x130
[  108.775663]  do_mount+0x190/0xbd0
[  108.775664]  ? memdup_user+0x42/0x60
[  108.775665]  SyS_mount+0x83/0xd0
[  108.775668]  entry_SYSCALL_64_fastpath+0x1a/0xa9
[  108.775669] RIP: 0033:0x7f1cbe7bf78a
[  108.775669] RSP: 002b:00007ffc99215198 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5
[  108.775670] RAX: ffffffffffffffda RBX: 00007f1cbeabb3b8 RCX: 00007f1cbe7bf78a
[  108.775671] RDX: 000055715a611690 RSI: 000055715a60d270 RDI: 000055715a60d2d0
[  108.775671] RBP: 000055715a60d120 R08: 0000000000000000 R09: 00007f1cbea7c678
[  108.775672] R10: 00000000c0ed0000 R11: 0000000000000202 R12: 00007f1cbecc8e78
[  108.775672] R13: 00000000ffffffff R14: 0000000000000000 R15: 000055715a60d060
[  108.775673] Code: ff 74 05 e8 c2 17 64 e0 48 8b 3d 6b ec 03 00 48 85 ff 74 05 e8 b1 17 64 e0 48 8b 3d 32 ec 03 00 e8 25 a6 74 e0 5d c3 55 48 89 e5 <0f> 0b 55 48 89 e5 e8 f4 53 ff ff 48 c7 c7 40 78 b7 a0 e8 18 01 
[  108.775700] RIP: kmem_flags_convert.part.0+0x4/0x6 [xfs] RSP: ffffc900018ffcd8
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Michal Hocko Dec. 16, 2016, 3:35 p.m. UTC | #1
On Fri 16-12-16 16:05:58, Mike Galbraith wrote:
> On Thu, 2016-12-15 at 15:07 +0100, Michal Hocko wrote:
> > Hi,
> > I have posted the previous version here [1]. Since then I have added a
> > support to suppress reclaim lockdep warnings (__GFP_NOLOCKDEP) to allow
> > removing GFP_NOFS usage motivated by the lockdep false positives. On top
> > of that I've tried to convert few KM_NOFS usages to use the new flag in
> > the xfs code base. This would need a review from somebody familiar with
> > xfs of course.
> 
> The wild ass guess below prevents the xfs explosion below when running
> ltp zram tests.

Yes this looks correct. Thanks for noticing. I will fold it to the
patch2. Thanks for testing Mike!
> 
> ---
>  fs/xfs/kmem.h |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- a/fs/xfs/kmem.h
> +++ b/fs/xfs/kmem.h
> @@ -45,7 +45,7 @@ kmem_flags_convert(xfs_km_flags_t flags)
>  {
>  	gfp_t	lflags;
>  
> -	BUG_ON(flags & ~(KM_SLEEP|KM_NOSLEEP|KM_NOFS|KM_MAYFAIL|KM_ZERO));
> +	BUG_ON(flags & ~(KM_SLEEP|KM_NOSLEEP|KM_NOFS|KM_MAYFAIL|KM_ZERO|KM_NOLOCKDEP));
>  
>  	if (flags & KM_NOSLEEP) {
>  		lflags = GFP_ATOMIC | __GFP_NOWARN;
Mike Galbraith Dec. 16, 2016, 4:27 p.m. UTC | #2
On Fri, 2016-12-16 at 16:35 +0100, Michal Hocko wrote:
> On Fri 16-12-16 16:05:58, Mike Galbraith wrote:
> > On Thu, 2016-12-15 at 15:07 +0100, Michal Hocko wrote:
> > > Hi,
> > > I have posted the previous version here [1]. Since then I have added a
> > > support to suppress reclaim lockdep warnings (__GFP_NOLOCKDEP) to allow
> > > removing GFP_NOFS usage motivated by the lockdep false positives. On top
> > > of that I've tried to convert few KM_NOFS usages to use the new flag in
> > > the xfs code base. This would need a review from somebody familiar with
> > > xfs of course.
> > 
> > The wild ass guess below prevents the xfs explosion below when running
> > ltp zram tests.
> 
> Yes this looks correct. Thanks for noticing. I will fold it to the
> patch2. Thanks for testing Mike!

I had ulterior motives, was hoping you might have made the irksome RT
gripe below just _go away_, as staring at it ain't working out ;-)

[ 1441.309006] =========================================================
[ 1441.309006] [ INFO: possible irq lock inversion dependency detected ]
[ 1441.309007] 4.10.0-rt9-rt #11 Tainted: G            E  
[ 1441.309007] ---------------------------------------------------------
[ 1441.309008] kswapd0/165 just changed the state of lock:
[ 1441.309009]  (&journal->j_state_lock){+.+.-.}, at: [<ffffffffa00a6d60>] jbd2_complete_transaction+0x20/0x90 [jbd2]
[ 1441.309017] but this lock took another, RECLAIM_FS-unsafe lock in the past:
[ 1441.309017]  (&tb->tb6_lock){+.+.+.}
[ 1441.309018] and interrupts could create inverse lock ordering between them.
[ 1441.309018] other info that might help us debug this:
[ 1441.309018] Chain exists of: &journal->j_state_lock --> &journal->j_list_lock --> &tb->tb6_lock
[ 1441.309019]  Possible interrupt unsafe locking scenario:
[ 1441.309019]        CPU0                    CPU1
[ 1441.309019]        ----                    ----
[ 1441.309019]   lock(&tb->tb6_lock);
[ 1441.309020]                                local_irq_disable();
[ 1441.309020]                                lock(&journal->j_state_lock);
[ 1441.309020]                                lock(&journal->j_list_lock);
[ 1441.309021]   <Interrupt>
[ 1441.309021]     lock(&journal->j_state_lock);
[ 1441.309021] *** DEADLOCK ***
[ 1441.309022] 2 locks held by kswapd0/165:
[ 1441.309022]  #0:  (shrinker_rwsem){+.+...}, at: [<ffffffff811efa2a>] shrink_slab+0x7a/0x6c0
[ 1441.309027]  #1:  (&type->s_umount_key#29){+.+.+.}, at: [<ffffffff8126f20b>] trylock_super+0x1b/0x50
[ 1441.309030] the shortest dependencies between 2nd lock and 1st lock:
[ 1441.309031]    -> (&tb->tb6_lock){+.+.+.} ops: 271 {
[ 1441.309032]       HARDIRQ-ON-W at:
[ 1441.309035] [<ffffffff810e11b8>] __lock_acquire+0x938/0x1770
[ 1441.309036] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309039] [<ffffffff8174d291>] rt_write_lock+0x31/0x40
[ 1441.309041] [<ffffffff816e66e3>] __ip6_ins_rt+0x33/0x70
[ 1441.309043] [<ffffffff816eccd1>] ip6_route_add+0x81/0xd0
[ 1441.309044] [<ffffffff816dbf33>] addrconf_prefix_route+0x133/0x1d0
[ 1441.309046] [<ffffffff816e16eb>] inet6_addr_add+0x1eb/0x250
[ 1441.309047] [<ffffffff816e294b>] inet6_rtm_newaddr+0x33b/0x410
[ 1441.309049] [<ffffffff81613c35>] rtnetlink_rcv_msg+0x95/0x220
[ 1441.309051] [<ffffffff8163a477>] netlink_rcv_skb+0xa7/0xc0
[ 1441.309053] [<ffffffff8160de88>] rtnetlink_rcv+0x28/0x30
[ 1441.309054] [<ffffffff81639e53>] netlink_unicast+0x143/0x1f0
[ 1441.309055] [<ffffffff8163a222>] netlink_sendmsg+0x322/0x3a0
[ 1441.309057] [<ffffffff815d5c48>] sock_sendmsg+0x38/0x50
[ 1441.309058] [<ffffffff815d60a6>] SYSC_sendto+0xf6/0x170
[ 1441.309060] [<ffffffff815d6f6e>] SyS_sendto+0xe/0x10
[ 1441.309061] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
[ 1441.309061]       SOFTIRQ-ON-W at:
[ 1441.309063] [<ffffffff810e0b03>] __lock_acquire+0x283/0x1770
[ 1441.309064] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309064] [<ffffffff8174d291>] rt_write_lock+0x31/0x40
[ 1441.309065] [<ffffffff816e66e3>] __ip6_ins_rt+0x33/0x70
[ 1441.309067] [<ffffffff816eccd1>] ip6_route_add+0x81/0xd0
[ 1441.309067] [<ffffffff816dbf33>] addrconf_prefix_route+0x133/0x1d0
[ 1441.309068] [<ffffffff816e16eb>] inet6_addr_add+0x1eb/0x250
[ 1441.309069] [<ffffffff816e294b>] inet6_rtm_newaddr+0x33b/0x410
[ 1441.309071] [<ffffffff81613c35>] rtnetlink_rcv_msg+0x95/0x220
[ 1441.309073] [<ffffffff8163a477>] netlink_rcv_skb+0xa7/0xc0
[ 1441.309074] [<ffffffff8160de88>] rtnetlink_rcv+0x28/0x30
[ 1441.309075] [<ffffffff81639e53>] netlink_unicast+0x143/0x1f0
[ 1441.309077] [<ffffffff8163a222>] netlink_sendmsg+0x322/0x3a0
[ 1441.309078] [<ffffffff815d5c48>] sock_sendmsg+0x38/0x50
[ 1441.309079] [<ffffffff815d60a6>] SYSC_sendto+0xf6/0x170
[ 1441.309080] [<ffffffff815d6f6e>] SyS_sendto+0xe/0x10
[ 1441.309081] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
[ 1441.309081]       RECLAIM_FS-ON-W at:
[ 1441.309082] [<ffffffff810e0316>] mark_held_locks+0x66/0x90
[ 1441.309084] [<ffffffff810e34a8>] lockdep_trace_alloc+0xd8/0x120
[ 1441.309085] [<ffffffff81246df6>] kmem_cache_alloc_node+0x36/0x310
[ 1441.309086] [<ffffffff815dfd4e>] __alloc_skb+0x4e/0x280
[ 1441.309088] [<ffffffff816ee6ac>] inet6_rt_notify+0x5c/0x130
[ 1441.309089] [<ffffffff816f101b>] fib6_add+0x56b/0xa30
[ 1441.309090] [<ffffffff816e66f8>] __ip6_ins_rt+0x48/0x70
[ 1441.309091] [<ffffffff816eccd1>] ip6_route_add+0x81/0xd0
[ 1441.309092] [<ffffffff816dbf33>] addrconf_prefix_route+0x133/0x1d0
[ 1441.309093] [<ffffffff816e16eb>] inet6_addr_add+0x1eb/0x250
[ 1441.309094] [<ffffffff816e294b>] inet6_rtm_newaddr+0x33b/0x410
[ 1441.309096] [<ffffffff81613c35>] rtnetlink_rcv_msg+0x95/0x220
[ 1441.309097] [<ffffffff8163a477>] netlink_rcv_skb+0xa7/0xc0
[ 1441.309098] [<ffffffff8160de88>] rtnetlink_rcv+0x28/0x30
[ 1441.309099] [<ffffffff81639e53>] netlink_unicast+0x143/0x1f0
[ 1441.309100] [<ffffffff8163a222>] netlink_sendmsg+0x322/0x3a0
[ 1441.309102] [<ffffffff815d5c48>] sock_sendmsg+0x38/0x50
[ 1441.309103] [<ffffffff815d60a6>] SYSC_sendto+0xf6/0x170
[ 1441.309104] [<ffffffff815d6f6e>] SyS_sendto+0xe/0x10
[ 1441.309105] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
[ 1441.309105]       INITIAL USE at:
[ 1441.309106] [<ffffffff810e0b4e>] __lock_acquire+0x2ce/0x1770
[ 1441.309107] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309108] [<ffffffff8174d291>] rt_write_lock+0x31/0x40
[ 1441.309109] [<ffffffff816e66e3>] __ip6_ins_rt+0x33/0x70
[ 1441.309110] [<ffffffff816eccd1>] ip6_route_add+0x81/0xd0
[ 1441.309111] [<ffffffff816dbf33>] addrconf_prefix_route+0x133/0x1d0
[ 1441.309112] [<ffffffff816e16eb>] inet6_addr_add+0x1eb/0x250
[ 1441.309113] [<ffffffff816e294b>] inet6_rtm_newaddr+0x33b/0x410
[ 1441.309115] [<ffffffff81613c35>] rtnetlink_rcv_msg+0x95/0x220
[ 1441.309116] [<ffffffff8163a477>] netlink_rcv_skb+0xa7/0xc0
[ 1441.309117] [<ffffffff8160de88>] rtnetlink_rcv+0x28/0x30
[ 1441.309118] [<ffffffff81639e53>] netlink_unicast+0x143/0x1f0
[ 1441.309119] [<ffffffff8163a222>] netlink_sendmsg+0x322/0x3a0
[ 1441.309120] [<ffffffff815d5c48>] sock_sendmsg+0x38/0x50
[ 1441.309121] [<ffffffff815d60a6>] SYSC_sendto+0xf6/0x170
[ 1441.309122] [<ffffffff815d6f6e>] SyS_sendto+0xe/0x10
[ 1441.309123] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
[ 1441.309123]     }
[ 1441.309125]     ... key      at: [<ffffffff82dd96e0>] __key.59908+0x0/0x8
[ 1441.309125]     ... acquired at:
[ 1441.309126] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309127] [<ffffffff8174d307>] rt_read_lock+0x47/0x60
[ 1441.309128] [<ffffffff816ea541>] ip6_pol_route+0x61/0xa60
[ 1441.309130] [<ffffffff816eaf5a>] ip6_pol_route_input+0x1a/0x20
[ 1441.309131] [<ffffffff81718f21>] fib6_rule_action+0xa1/0x1e0
[ 1441.309133] [<ffffffff81621e53>] fib_rules_lookup+0x153/0x2e0
[ 1441.309134] [<ffffffff81719219>] fib6_rule_lookup+0x59/0xc0
[ 1441.309135] [<ffffffff816e6a3e>] ip6_route_input_lookup+0x4e/0x60
[ 1441.309136] [<ffffffff816ec59d>] ip6_route_input+0xdd/0x1a0
[ 1441.309137] [<ffffffff816d87d0>] ip6_rcv_finish+0x60/0x200
[ 1441.309139] [<ffffffffa09e00b0>] ip_sabotage_in+0x30/0x40 [br_netfilter]
[ 1441.309141] [<ffffffff8163c7ac>] nf_hook_slow+0x2c/0xf0
[ 1441.309142] [<ffffffff816d998a>] ipv6_rcv+0x72a/0x980
[ 1441.309143] [<ffffffff815f81ef>] __netif_receive_skb_core+0x38f/0xd20
[ 1441.309144] [<ffffffff815f8b98>] __netif_receive_skb+0x18/0x60
[ 1441.309145] [<ffffffff815fa4c1>] netif_receive_skb_internal+0x61/0x1d0
[ 1441.309147] [<ffffffff815fa668>] netif_receive_skb+0x38/0x180
[ 1441.309151] [<ffffffffa09b77e5>] br_pass_frame_up+0xd5/0x2c0 [bridge]
[ 1441.309154] [<ffffffffa09b7d66>] br_handle_frame_finish+0x256/0x5c0 [bridge]
[ 1441.309156] [<ffffffffa09e159c>] br_nf_hook_thresh+0xac/0x220 [br_netfilter]
[ 1441.309157] [<ffffffffa09e2ee3>] br_nf_pre_routing_finish_ipv6+0x1c3/0x340 [br_netfilter]
[ 1441.309158] [<ffffffffa09e349d>] br_nf_pre_routing_ipv6+0xdd/0x27a [br_netfilter]
[ 1441.309159] [<ffffffffa09e2942>] br_nf_pre_routing+0x1b2/0x540 [br_netfilter]
[ 1441.309160] [<ffffffff8163c7ac>] nf_hook_slow+0x2c/0xf0
[ 1441.309163] [<ffffffffa09b82f7>] br_handle_frame+0x227/0x5b0 [bridge]
[ 1441.309164] [<ffffffff815f8036>] __netif_receive_skb_core+0x1d6/0xd20
[ 1441.309165] [<ffffffff815f8b98>] __netif_receive_skb+0x18/0x60
[ 1441.309166] [<ffffffff815fa4c1>] netif_receive_skb_internal+0x61/0x1d0
[ 1441.309167] [<ffffffff815fbca2>] napi_gro_receive+0x192/0x250
[ 1441.309171] [<ffffffffa03f2163>] rtl8169_poll+0x183/0x6a0 [r8169]
[ 1441.309172] [<ffffffff815faea0>] net_rx_action+0x3b0/0x700
[ 1441.309173] [<ffffffff810841a5>] do_current_softirqs+0x285/0x680
[ 1441.309174] [<ffffffff81084607>] __local_bh_enable+0x67/0x80
[ 1441.309177] [<ffffffff810f7d81>] irq_forced_thread_fn+0x41/0x60
[ 1441.309178] [<ffffffff810f832f>] irq_thread+0x13f/0x1e0
[ 1441.309179] [<ffffffff810a5ecc>] kthread+0x10c/0x140
[ 1441.309180] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
[ 1441.309181]   -> (&per_cpu(local_softirq_locks[i], __cpu).lock){+.+...} ops: 3582145 {
[ 1441.309182]      HARDIRQ-ON-W at:
[ 1441.309183] [<ffffffff810e11b8>] __lock_acquire+0x938/0x1770
[ 1441.309184] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309185] [<ffffffff8174cdea>] rt_spin_lock__no_mg+0x5a/0x70
[ 1441.309186] [<ffffffff81084094>] do_current_softirqs+0x174/0x680
[ 1441.309187] [<ffffffff81084607>] __local_bh_enable+0x67/0x80
[ 1441.309188] [<ffffffff8113c631>] cgroup_idr_alloc.constprop.41+0x61/0x80
[ 1441.309190] [<ffffffff811d4d5b>] cgroup_setup_root+0x65/0x28f
[ 1441.309191] [<ffffffff81d9ef88>] cgroup_init+0xf7/0x3e5
[ 1441.309193] [<ffffffff81d770d1>] start_kernel+0x43f/0x484
[ 1441.309194] [<ffffffff81d76599>] x86_64_start_reservations+0x2a/0x2c
[ 1441.309195] [<ffffffff81d766d8>] x86_64_start_kernel+0x13d/0x14c
[ 1441.309196] [<ffffffff810001b5>] start_cpu+0x5/0x14
[ 1441.309196]      SOFTIRQ-ON-W at:
[ 1441.309197] [<ffffffff810e0b03>] __lock_acquire+0x283/0x1770
[ 1441.309198] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309199] [<ffffffff8174cdea>] rt_spin_lock__no_mg+0x5a/0x70
[ 1441.309200] [<ffffffff81084094>] do_current_softirqs+0x174/0x680
[ 1441.309201] [<ffffffff81084607>] __local_bh_enable+0x67/0x80
[ 1441.309202] [<ffffffff8113c631>] cgroup_idr_alloc.constprop.41+0x61/0x80
[ 1441.309203] [<ffffffff811d4d5b>] cgroup_setup_root+0x65/0x28f
[ 1441.309204] [<ffffffff81d9ef88>] cgroup_init+0xf7/0x3e5
[ 1441.309204] [<ffffffff81d770d1>] start_kernel+0x43f/0x484
[ 1441.309205] [<ffffffff81d76599>] x86_64_start_reservations+0x2a/0x2c
[ 1441.309206] [<ffffffff81d766d8>] x86_64_start_kernel+0x13d/0x14c
[ 1441.309207] [<ffffffff810001b5>] start_cpu+0x5/0x14
[ 1441.309207]      INITIAL USE at:
[ 1441.309208] [<ffffffff810e0b4e>] __lock_acquire+0x2ce/0x1770
[ 1441.309209] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309210] [<ffffffff8174cdea>] rt_spin_lock__no_mg+0x5a/0x70
[ 1441.309211] [<ffffffff81084094>] do_current_softirqs+0x174/0x680
[ 1441.309212] [<ffffffff81084607>] __local_bh_enable+0x67/0x80
[ 1441.309213] [<ffffffff8113c631>] cgroup_idr_alloc.constprop.41+0x61/0x80
[ 1441.309213] [<ffffffff811d4d5b>] cgroup_setup_root+0x65/0x28f
[ 1441.309215] [<ffffffff81d9ef88>] cgroup_init+0xf7/0x3e5
[ 1441.309216] [<ffffffff81d770d1>] start_kernel+0x43f/0x484
[ 1441.309216] [<ffffffff81d76599>] x86_64_start_reservations+0x2a/0x2c
[ 1441.309217] [<ffffffff81d766d8>] x86_64_start_kernel+0x13d/0x14c
[ 1441.309218] [<ffffffff810001b5>] start_cpu+0x5/0x14
[ 1441.309218]    }
[ 1441.309220]    ... key      at: [<ffffffff81f6c110>] __key.38555+0x0/0x8
[ 1441.309220]    ... acquired at:
[ 1441.309221] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309222] [<ffffffff8174cdea>] rt_spin_lock__no_mg+0x5a/0x70
[ 1441.309222] [<ffffffff81084094>] do_current_softirqs+0x174/0x680
[ 1441.309223] [<ffffffff81084607>] __local_bh_enable+0x67/0x80
[ 1441.309225] [<ffffffff81200bc9>] wb_wakeup_delayed+0x69/0x70
[ 1441.309226] [<ffffffff812a0aab>] __mark_inode_dirty+0x60b/0x7c0
[ 1441.309227] [<ffffffff812ab235>] mark_buffer_dirty+0xb5/0x240
[ 1441.309231] [<ffffffffa009ba1d>] __jbd2_journal_temp_unlink_buffer+0xbd/0xe0 [jbd2]
[ 1441.309233] [<ffffffffa009e40a>] __jbd2_journal_refile_buffer+0xba/0xe0 [jbd2]
[ 1441.309235] [<ffffffffa009fbed>] jbd2_journal_commit_transaction+0x112d/0x2130 [jbd2]
[ 1441.309237] [<ffffffffa00a53dd>] kjournald2+0xcd/0x270 [jbd2]
[ 1441.309239] [<ffffffff810a5ecc>] kthread+0x10c/0x140
[ 1441.309239] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
[ 1441.309240]  -> (&journal->j_list_lock){+.+...} ops: 587416 {
[ 1441.309241]     HARDIRQ-ON-W at:
[ 1441.309242] [<ffffffff810e11b8>] __lock_acquire+0x938/0x1770
[ 1441.309243] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309244] [<ffffffff8174cd6f>] rt_spin_lock+0x5f/0x80
[ 1441.309246] [<ffffffffa009d529>] do_get_write_access+0x3b9/0x5c0 [jbd2]
[ 1441.309248] [<ffffffffa009d761>] jbd2_journal_get_write_access+0x31/0x60 [jbd2]
[ 1441.309259] [<ffffffffa0105259>] __ext4_journal_get_write_access+0x49/0x90 [ext4]
[ 1441.309264] [<ffffffffa00c5cb2>] ext4_file_open+0x1c2/0x230 [ext4]
[ 1441.309265] [<ffffffff81268281>] do_dentry_open+0x231/0x360
[ 1441.309266] [<ffffffff81269642>] vfs_open+0x52/0x80
[ 1441.309268] [<ffffffff8127b206>] path_openat+0x476/0xdd0
[ 1441.309269] [<ffffffff8127d64e>] do_filp_open+0x7e/0xd0
[ 1441.309270] [<ffffffff812723b7>] do_open_execat+0x67/0x150
[ 1441.309271] [<ffffffff812739ec>] do_execveat_common.isra.34+0x25c/0x9a0
[ 1441.309272] [<ffffffff8127415c>] do_execve+0x2c/0x30
[ 1441.309274] [<ffffffff81098c46>] call_usermodehelper_exec_async+0xf6/0x130
[ 1441.309274] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
[ 1441.309275]     SOFTIRQ-ON-W at:
[ 1441.309276] [<ffffffff810e0b03>] __lock_acquire+0x283/0x1770
[ 1441.309277] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309277] [<ffffffff8174cd6f>] rt_spin_lock+0x5f/0x80
[ 1441.309279] [<ffffffffa009d529>] do_get_write_access+0x3b9/0x5c0 [jbd2]
[ 1441.309281] [<ffffffffa009d761>] jbd2_journal_get_write_access+0x31/0x60 [jbd2]
[ 1441.309288] [<ffffffffa0105259>] __ext4_journal_get_write_access+0x49/0x90 [ext4]
[ 1441.309293] [<ffffffffa00c5cb2>] ext4_file_open+0x1c2/0x230 [ext4]
[ 1441.309294] [<ffffffff81268281>] do_dentry_open+0x231/0x360
[ 1441.309295] [<ffffffff81269642>] vfs_open+0x52/0x80
[ 1441.309296] [<ffffffff8127b206>] path_openat+0x476/0xdd0
[ 1441.309297] [<ffffffff8127d64e>] do_filp_open+0x7e/0xd0
[ 1441.309298] [<ffffffff812723b7>] do_open_execat+0x67/0x150
[ 1441.309299] [<ffffffff812739ec>] do_execveat_common.isra.34+0x25c/0x9a0
[ 1441.309300] [<ffffffff8127415c>] do_execve+0x2c/0x30
[ 1441.309301] [<ffffffff81098c46>] call_usermodehelper_exec_async+0xf6/0x130
[ 1441.309302] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
[ 1441.309302]     INITIAL USE at:
[ 1441.309303] [<ffffffff810e0b4e>] __lock_acquire+0x2ce/0x1770
[ 1441.309304] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309305] [<ffffffff8174cd6f>] rt_spin_lock+0x5f/0x80
[ 1441.309307] [<ffffffffa009d529>] do_get_write_access+0x3b9/0x5c0 [jbd2]
[ 1441.309308] [<ffffffffa009d761>] jbd2_journal_get_write_access+0x31/0x60 [jbd2]
[ 1441.309314] [<ffffffffa0105259>] __ext4_journal_get_write_access+0x49/0x90 [ext4]
[ 1441.309319] [<ffffffffa00c5cb2>] ext4_file_open+0x1c2/0x230 [ext4]
[ 1441.309319] [<ffffffff81268281>] do_dentry_open+0x231/0x360
[ 1441.309320] [<ffffffff81269642>] vfs_open+0x52/0x80
[ 1441.309321] [<ffffffff8127b206>] path_openat+0x476/0xdd0
[ 1441.309322] [<ffffffff8127d64e>] do_filp_open+0x7e/0xd0
[ 1441.309323] [<ffffffff812723b7>] do_open_execat+0x67/0x150
[ 1441.309324] [<ffffffff812739ec>] do_execveat_common.isra.34+0x25c/0x9a0
[ 1441.309325] [<ffffffff8127415c>] do_execve+0x2c/0x30
[ 1441.309326] [<ffffffff81098c46>] call_usermodehelper_exec_async+0xf6/0x130
[ 1441.309327] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
[ 1441.309327]   }
[ 1441.309330]   ... key      at: [<ffffffffa00af5c0>] __key.47251+0x0/0xffffffffffff9a40 [jbd2]
[ 1441.309330]   ... acquired at:
[ 1441.309331] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309331] [<ffffffff8174cd6f>] rt_spin_lock+0x5f/0x80
[ 1441.309333] [<ffffffffa009ee25>] jbd2_journal_commit_transaction+0x365/0x2130 [jbd2]
[ 1441.309335] [<ffffffffa00a53dd>] kjournald2+0xcd/0x270 [jbd2]
[ 1441.309337] [<ffffffff810a5ecc>] kthread+0x10c/0x140
[ 1441.309337] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
[ 1441.309338] -> (&journal->j_state_lock){+.+.-.} ops: 5849939 {
[ 1441.309339]    HARDIRQ-ON-W at:
[ 1441.309340] [<ffffffff810e11b8>] __lock_acquire+0x938/0x1770
[ 1441.309341] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309341] [<ffffffff8174d291>] rt_write_lock+0x31/0x40
[ 1441.309348] [<ffffffffa00e9c0d>] ext4_init_journal_params+0x4d/0xc0 [ext4]
[ 1441.309353] [<ffffffffa00f515e>] ext4_fill_super+0x1e4e/0x3770 [ext4]
[ 1441.309355] [<ffffffff8126ee4a>] mount_bdev+0x18a/0x1c0
[ 1441.309360] [<ffffffffa00e9705>] ext4_mount+0x15/0x20 [ext4]
[ 1441.309361] [<ffffffff8126fa79>] mount_fs+0x39/0x170
[ 1441.309362] [<ffffffff81290817>] vfs_kern_mount+0x67/0x130
[ 1441.309363] [<ffffffff812939fb>] do_mount+0x1bb/0xc60
[ 1441.309364] [<ffffffff81294773>] SyS_mount+0x83/0xd0
[ 1441.309365] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
[ 1441.309365]    SOFTIRQ-ON-W at:
[ 1441.309366] [<ffffffff810e0b03>] __lock_acquire+0x283/0x1770
[ 1441.309367] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309368] [<ffffffff8174d291>] rt_write_lock+0x31/0x40
[ 1441.309373] [<ffffffffa00e9c0d>] ext4_init_journal_params+0x4d/0xc0 [ext4]
[ 1441.309378] [<ffffffffa00f515e>] ext4_fill_super+0x1e4e/0x3770 [ext4]
[ 1441.309379] [<ffffffff8126ee4a>] mount_bdev+0x18a/0x1c0
[ 1441.309383] [<ffffffffa00e9705>] ext4_mount+0x15/0x20 [ext4]
[ 1441.309385] [<ffffffff8126fa79>] mount_fs+0x39/0x170
[ 1441.309385] [<ffffffff81290817>] vfs_kern_mount+0x67/0x130
[ 1441.309386] [<ffffffff812939fb>] do_mount+0x1bb/0xc60
[ 1441.309387] [<ffffffff81294773>] SyS_mount+0x83/0xd0
[ 1441.309388] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
[ 1441.309388]    IN-RECLAIM_FS-W at:
[ 1441.309390] [<ffffffff810e0b36>] __lock_acquire+0x2b6/0x1770
[ 1441.309391] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309391] [<ffffffff8174d307>] rt_read_lock+0x47/0x60
[ 1441.309394] [<ffffffffa00a6d60>] jbd2_complete_transaction+0x20/0x90 [jbd2]
[ 1441.309398] [<ffffffffa00d472e>] ext4_evict_inode+0x37e/0x700 [ext4]
[ 1441.309400] [<ffffffff8128b221>] evict+0xd1/0x1a0
[ 1441.309401] [<ffffffff8128b33d>] dispose_list+0x4d/0x70
[ 1441.309402] [<ffffffff8128c60b>] prune_icache_sb+0x4b/0x60
[ 1441.309404] [<ffffffff8126f381>] super_cache_scan+0x141/0x190
[ 1441.309405] [<ffffffff811efc27>] shrink_slab+0x277/0x6c0
[ 1441.309406] [<ffffffff811f4523>] shrink_node+0x2e3/0x2f0
[ 1441.309407] [<ffffffff811f5a7f>] kswapd+0x34f/0x980
[ 1441.309409] [<ffffffff810a5ecc>] kthread+0x10c/0x140
[ 1441.309409] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
[ 1441.309410]    INITIAL USE at:
[ 1441.309411] [<ffffffff810e0b4e>] __lock_acquire+0x2ce/0x1770
[ 1441.309412] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309412] [<ffffffff8174d291>] rt_write_lock+0x31/0x40
[ 1441.309417] [<ffffffffa00e9c0d>] ext4_init_journal_params+0x4d/0xc0 [ext4]
[ 1441.309422] [<ffffffffa00f515e>] ext4_fill_super+0x1e4e/0x3770 [ext4]
[ 1441.309423] [<ffffffff8126ee4a>] mount_bdev+0x18a/0x1c0
[ 1441.309427] [<ffffffffa00e9705>] ext4_mount+0x15/0x20 [ext4]
[ 1441.309429] [<ffffffff8126fa79>] mount_fs+0x39/0x170
[ 1441.309429] [<ffffffff81290817>] vfs_kern_mount+0x67/0x130
[ 1441.309430] [<ffffffff812939fb>] do_mount+0x1bb/0xc60
[ 1441.309431] [<ffffffff81294773>] SyS_mount+0x83/0xd0
[ 1441.309432] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
[ 1441.309432]  }
[ 1441.309435]  ... key      at: [<ffffffffa00af5b0>] __key.47253+0x0/0xffffffffffff9a50 [jbd2]
[ 1441.309435]  ... acquired at:
[ 1441.309436] [<ffffffff810df99e>] check_usage_forwards+0x11e/0x120
[ 1441.309437] [<ffffffff810e01a8>] mark_lock+0x1e8/0x2f0
[ 1441.309437] [<ffffffff810e0b36>] __lock_acquire+0x2b6/0x1770
[ 1441.309438] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
[ 1441.309439] [<ffffffff8174d307>] rt_read_lock+0x47/0x60
[ 1441.309441] [<ffffffffa00a6d60>] jbd2_complete_transaction+0x20/0x90 [jbd2]
[ 1441.309446] [<ffffffffa00d472e>] ext4_evict_inode+0x37e/0x700 [ext4]
[ 1441.309447] [<ffffffff8128b221>] evict+0xd1/0x1a0
[ 1441.309448] [<ffffffff8128b33d>] dispose_list+0x4d/0x70
[ 1441.309449] [<ffffffff8128c60b>] prune_icache_sb+0x4b/0x60
[ 1441.309450] [<ffffffff8126f381>] super_cache_scan+0x141/0x190
[ 1441.309451] [<ffffffff811efc27>] shrink_slab+0x277/0x6c0
[ 1441.309452] [<ffffffff811f4523>] shrink_node+0x2e3/0x2f0
[ 1441.309453] [<ffffffff811f5a7f>] kswapd+0x34f/0x980
[ 1441.309454] [<ffffffff810a5ecc>] kthread+0x10c/0x140
[ 1441.309455] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
[ 1441.309455] stack backtrace:
[ 1441.309457] CPU: 0 PID: 165 Comm: kswapd0 Tainted: G            E   4.10.0-rt9-rt #11
[ 1441.309457] Hardware name: MEDION MS-7848/MS-7848, BIOS M7848W08.20C 09/23/2013
[ 1441.309457] Call Trace:
[ 1441.309459]  dump_stack+0x85/0xc8
[ 1441.309461]  print_irq_inversion_bug.part.34+0x1ac/0x1b8
[ 1441.309462]  check_usage_forwards+0x11e/0x120
[ 1441.309463]  ? check_usage_backwards+0x120/0x120
[ 1441.309463]  mark_lock+0x1e8/0x2f0
[ 1441.309464]  __lock_acquire+0x2b6/0x1770
[ 1441.309465]  ? __lock_acquire+0x420/0x1770
[ 1441.309466]  lock_acquire+0xd4/0x270
[ 1441.309468]  ? jbd2_complete_transaction+0x20/0x90 [jbd2]
[ 1441.309469]  rt_read_lock+0x47/0x60
[ 1441.309471]  ? jbd2_complete_transaction+0x20/0x90 [jbd2]
[ 1441.309472]  jbd2_complete_transaction+0x20/0x90 [jbd2]
[ 1441.309477]  ext4_evict_inode+0x37e/0x700 [ext4]
[ 1441.309478]  evict+0xd1/0x1a0
[ 1441.309479]  dispose_list+0x4d/0x70
[ 1441.309480]  prune_icache_sb+0x4b/0x60
[ 1441.309481]  super_cache_scan+0x141/0x190
[ 1441.309482]  shrink_slab+0x277/0x6c0
[ 1441.309483]  shrink_node+0x2e3/0x2f0
[ 1441.309485]  kswapd+0x34f/0x980
[ 1441.309487]  kthread+0x10c/0x140
[ 1441.309488]  ? mem_cgroup_shrink_node+0x390/0x390
[ 1441.309488]  ? kthread_park+0x90/0x90
[ 1441.309489]  ret_from_fork+0x2a/0x40
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jan Kara Dec. 19, 2016, 9:25 a.m. UTC | #3
On Fri 16-12-16 17:27:28, Mike Galbraith wrote:
> On Fri, 2016-12-16 at 16:35 +0100, Michal Hocko wrote:
> > On Fri 16-12-16 16:05:58, Mike Galbraith wrote:
> > > On Thu, 2016-12-15 at 15:07 +0100, Michal Hocko wrote:
> > > > Hi,
> > > > I have posted the previous version here [1]. Since then I have added a
> > > > support to suppress reclaim lockdep warnings (__GFP_NOLOCKDEP) to allow
> > > > removing GFP_NOFS usage motivated by the lockdep false positives. On top
> > > > of that I've tried to convert few KM_NOFS usages to use the new flag in
> > > > the xfs code base. This would need a review from somebody familiar with
> > > > xfs of course.
> > > 
> > > The wild ass guess below prevents the xfs explosion below when running
> > > ltp zram tests.
> > 
> > Yes this looks correct. Thanks for noticing. I will fold it to the
> > patch2. Thanks for testing Mike!
> 
> I had ulterior motives, was hoping you might have made the irksome RT
> gripe below just _go away_, as staring at it ain't working out ;-)
> 
> [ 1441.309006] =========================================================
> [ 1441.309006] [ INFO: possible irq lock inversion dependency detected ]
> [ 1441.309007] 4.10.0-rt9-rt #11 Tainted: G            E  
> [ 1441.309007] ---------------------------------------------------------
> [ 1441.309008] kswapd0/165 just changed the state of lock:
> [ 1441.309009]  (&journal->j_state_lock){+.+.-.}, at: [<ffffffffa00a6d60>] jbd2_complete_transaction+0x20/0x90 [jbd2]
> [ 1441.309017] but this lock took another, RECLAIM_FS-unsafe lock in the past:
> [ 1441.309017]  (&tb->tb6_lock){+.+.+.}
> [ 1441.309018] and interrupts could create inverse lock ordering between them.
> [ 1441.309018] other info that might help us debug this:
> [ 1441.309018] Chain exists of: &journal->j_state_lock --> &journal->j_list_lock --> &tb->tb6_lock
> [ 1441.309019]  Possible interrupt unsafe locking scenario:
> [ 1441.309019]        CPU0                    CPU1
> [ 1441.309019]        ----                    ----
> [ 1441.309019]   lock(&tb->tb6_lock);
> [ 1441.309020]                                local_irq_disable();
> [ 1441.309020]                                lock(&journal->j_state_lock);
> [ 1441.309020]                                lock(&journal->j_list_lock);
> [ 1441.309021]   <Interrupt>
> [ 1441.309021]     lock(&journal->j_state_lock);

Hum, so AFAICT this is just a false positive resulting from lockdep
allocation context tracking being implemented via interrupt context
tracking. At least I don't see how you could possibly enter FS reclaim
under &tb->tb6_lock...

								Honza

> [ 1441.309021] *** DEADLOCK ***
> [ 1441.309022] 2 locks held by kswapd0/165:
> [ 1441.309022]  #0:  (shrinker_rwsem){+.+...}, at: [<ffffffff811efa2a>] shrink_slab+0x7a/0x6c0
> [ 1441.309027]  #1:  (&type->s_umount_key#29){+.+.+.}, at: [<ffffffff8126f20b>] trylock_super+0x1b/0x50
> [ 1441.309030] the shortest dependencies between 2nd lock and 1st lock:
> [ 1441.309031]    -> (&tb->tb6_lock){+.+.+.} ops: 271 {
> [ 1441.309032]       HARDIRQ-ON-W at:
> [ 1441.309035] [<ffffffff810e11b8>] __lock_acquire+0x938/0x1770
> [ 1441.309036] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309039] [<ffffffff8174d291>] rt_write_lock+0x31/0x40
> [ 1441.309041] [<ffffffff816e66e3>] __ip6_ins_rt+0x33/0x70
> [ 1441.309043] [<ffffffff816eccd1>] ip6_route_add+0x81/0xd0
> [ 1441.309044] [<ffffffff816dbf33>] addrconf_prefix_route+0x133/0x1d0
> [ 1441.309046] [<ffffffff816e16eb>] inet6_addr_add+0x1eb/0x250
> [ 1441.309047] [<ffffffff816e294b>] inet6_rtm_newaddr+0x33b/0x410
> [ 1441.309049] [<ffffffff81613c35>] rtnetlink_rcv_msg+0x95/0x220
> [ 1441.309051] [<ffffffff8163a477>] netlink_rcv_skb+0xa7/0xc0
> [ 1441.309053] [<ffffffff8160de88>] rtnetlink_rcv+0x28/0x30
> [ 1441.309054] [<ffffffff81639e53>] netlink_unicast+0x143/0x1f0
> [ 1441.309055] [<ffffffff8163a222>] netlink_sendmsg+0x322/0x3a0
> [ 1441.309057] [<ffffffff815d5c48>] sock_sendmsg+0x38/0x50
> [ 1441.309058] [<ffffffff815d60a6>] SYSC_sendto+0xf6/0x170
> [ 1441.309060] [<ffffffff815d6f6e>] SyS_sendto+0xe/0x10
> [ 1441.309061] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
> [ 1441.309061]       SOFTIRQ-ON-W at:
> [ 1441.309063] [<ffffffff810e0b03>] __lock_acquire+0x283/0x1770
> [ 1441.309064] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309064] [<ffffffff8174d291>] rt_write_lock+0x31/0x40
> [ 1441.309065] [<ffffffff816e66e3>] __ip6_ins_rt+0x33/0x70
> [ 1441.309067] [<ffffffff816eccd1>] ip6_route_add+0x81/0xd0
> [ 1441.309067] [<ffffffff816dbf33>] addrconf_prefix_route+0x133/0x1d0
> [ 1441.309068] [<ffffffff816e16eb>] inet6_addr_add+0x1eb/0x250
> [ 1441.309069] [<ffffffff816e294b>] inet6_rtm_newaddr+0x33b/0x410
> [ 1441.309071] [<ffffffff81613c35>] rtnetlink_rcv_msg+0x95/0x220
> [ 1441.309073] [<ffffffff8163a477>] netlink_rcv_skb+0xa7/0xc0
> [ 1441.309074] [<ffffffff8160de88>] rtnetlink_rcv+0x28/0x30
> [ 1441.309075] [<ffffffff81639e53>] netlink_unicast+0x143/0x1f0
> [ 1441.309077] [<ffffffff8163a222>] netlink_sendmsg+0x322/0x3a0
> [ 1441.309078] [<ffffffff815d5c48>] sock_sendmsg+0x38/0x50
> [ 1441.309079] [<ffffffff815d60a6>] SYSC_sendto+0xf6/0x170
> [ 1441.309080] [<ffffffff815d6f6e>] SyS_sendto+0xe/0x10
> [ 1441.309081] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
> [ 1441.309081]       RECLAIM_FS-ON-W at:
> [ 1441.309082] [<ffffffff810e0316>] mark_held_locks+0x66/0x90
> [ 1441.309084] [<ffffffff810e34a8>] lockdep_trace_alloc+0xd8/0x120
> [ 1441.309085] [<ffffffff81246df6>] kmem_cache_alloc_node+0x36/0x310
> [ 1441.309086] [<ffffffff815dfd4e>] __alloc_skb+0x4e/0x280
> [ 1441.309088] [<ffffffff816ee6ac>] inet6_rt_notify+0x5c/0x130
> [ 1441.309089] [<ffffffff816f101b>] fib6_add+0x56b/0xa30
> [ 1441.309090] [<ffffffff816e66f8>] __ip6_ins_rt+0x48/0x70
> [ 1441.309091] [<ffffffff816eccd1>] ip6_route_add+0x81/0xd0
> [ 1441.309092] [<ffffffff816dbf33>] addrconf_prefix_route+0x133/0x1d0
> [ 1441.309093] [<ffffffff816e16eb>] inet6_addr_add+0x1eb/0x250
> [ 1441.309094] [<ffffffff816e294b>] inet6_rtm_newaddr+0x33b/0x410
> [ 1441.309096] [<ffffffff81613c35>] rtnetlink_rcv_msg+0x95/0x220
> [ 1441.309097] [<ffffffff8163a477>] netlink_rcv_skb+0xa7/0xc0
> [ 1441.309098] [<ffffffff8160de88>] rtnetlink_rcv+0x28/0x30
> [ 1441.309099] [<ffffffff81639e53>] netlink_unicast+0x143/0x1f0
> [ 1441.309100] [<ffffffff8163a222>] netlink_sendmsg+0x322/0x3a0
> [ 1441.309102] [<ffffffff815d5c48>] sock_sendmsg+0x38/0x50
> [ 1441.309103] [<ffffffff815d60a6>] SYSC_sendto+0xf6/0x170
> [ 1441.309104] [<ffffffff815d6f6e>] SyS_sendto+0xe/0x10
> [ 1441.309105] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
> [ 1441.309105]       INITIAL USE at:
> [ 1441.309106] [<ffffffff810e0b4e>] __lock_acquire+0x2ce/0x1770
> [ 1441.309107] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309108] [<ffffffff8174d291>] rt_write_lock+0x31/0x40
> [ 1441.309109] [<ffffffff816e66e3>] __ip6_ins_rt+0x33/0x70
> [ 1441.309110] [<ffffffff816eccd1>] ip6_route_add+0x81/0xd0
> [ 1441.309111] [<ffffffff816dbf33>] addrconf_prefix_route+0x133/0x1d0
> [ 1441.309112] [<ffffffff816e16eb>] inet6_addr_add+0x1eb/0x250
> [ 1441.309113] [<ffffffff816e294b>] inet6_rtm_newaddr+0x33b/0x410
> [ 1441.309115] [<ffffffff81613c35>] rtnetlink_rcv_msg+0x95/0x220
> [ 1441.309116] [<ffffffff8163a477>] netlink_rcv_skb+0xa7/0xc0
> [ 1441.309117] [<ffffffff8160de88>] rtnetlink_rcv+0x28/0x30
> [ 1441.309118] [<ffffffff81639e53>] netlink_unicast+0x143/0x1f0
> [ 1441.309119] [<ffffffff8163a222>] netlink_sendmsg+0x322/0x3a0
> [ 1441.309120] [<ffffffff815d5c48>] sock_sendmsg+0x38/0x50
> [ 1441.309121] [<ffffffff815d60a6>] SYSC_sendto+0xf6/0x170
> [ 1441.309122] [<ffffffff815d6f6e>] SyS_sendto+0xe/0x10
> [ 1441.309123] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
> [ 1441.309123]     }
> [ 1441.309125]     ... key      at: [<ffffffff82dd96e0>] __key.59908+0x0/0x8
> [ 1441.309125]     ... acquired at:
> [ 1441.309126] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309127] [<ffffffff8174d307>] rt_read_lock+0x47/0x60
> [ 1441.309128] [<ffffffff816ea541>] ip6_pol_route+0x61/0xa60
> [ 1441.309130] [<ffffffff816eaf5a>] ip6_pol_route_input+0x1a/0x20
> [ 1441.309131] [<ffffffff81718f21>] fib6_rule_action+0xa1/0x1e0
> [ 1441.309133] [<ffffffff81621e53>] fib_rules_lookup+0x153/0x2e0
> [ 1441.309134] [<ffffffff81719219>] fib6_rule_lookup+0x59/0xc0
> [ 1441.309135] [<ffffffff816e6a3e>] ip6_route_input_lookup+0x4e/0x60
> [ 1441.309136] [<ffffffff816ec59d>] ip6_route_input+0xdd/0x1a0
> [ 1441.309137] [<ffffffff816d87d0>] ip6_rcv_finish+0x60/0x200
> [ 1441.309139] [<ffffffffa09e00b0>] ip_sabotage_in+0x30/0x40 [br_netfilter]
> [ 1441.309141] [<ffffffff8163c7ac>] nf_hook_slow+0x2c/0xf0
> [ 1441.309142] [<ffffffff816d998a>] ipv6_rcv+0x72a/0x980
> [ 1441.309143] [<ffffffff815f81ef>] __netif_receive_skb_core+0x38f/0xd20
> [ 1441.309144] [<ffffffff815f8b98>] __netif_receive_skb+0x18/0x60
> [ 1441.309145] [<ffffffff815fa4c1>] netif_receive_skb_internal+0x61/0x1d0
> [ 1441.309147] [<ffffffff815fa668>] netif_receive_skb+0x38/0x180
> [ 1441.309151] [<ffffffffa09b77e5>] br_pass_frame_up+0xd5/0x2c0 [bridge]
> [ 1441.309154] [<ffffffffa09b7d66>] br_handle_frame_finish+0x256/0x5c0 [bridge]
> [ 1441.309156] [<ffffffffa09e159c>] br_nf_hook_thresh+0xac/0x220 [br_netfilter]
> [ 1441.309157] [<ffffffffa09e2ee3>] br_nf_pre_routing_finish_ipv6+0x1c3/0x340 [br_netfilter]
> [ 1441.309158] [<ffffffffa09e349d>] br_nf_pre_routing_ipv6+0xdd/0x27a [br_netfilter]
> [ 1441.309159] [<ffffffffa09e2942>] br_nf_pre_routing+0x1b2/0x540 [br_netfilter]
> [ 1441.309160] [<ffffffff8163c7ac>] nf_hook_slow+0x2c/0xf0
> [ 1441.309163] [<ffffffffa09b82f7>] br_handle_frame+0x227/0x5b0 [bridge]
> [ 1441.309164] [<ffffffff815f8036>] __netif_receive_skb_core+0x1d6/0xd20
> [ 1441.309165] [<ffffffff815f8b98>] __netif_receive_skb+0x18/0x60
> [ 1441.309166] [<ffffffff815fa4c1>] netif_receive_skb_internal+0x61/0x1d0
> [ 1441.309167] [<ffffffff815fbca2>] napi_gro_receive+0x192/0x250
> [ 1441.309171] [<ffffffffa03f2163>] rtl8169_poll+0x183/0x6a0 [r8169]
> [ 1441.309172] [<ffffffff815faea0>] net_rx_action+0x3b0/0x700
> [ 1441.309173] [<ffffffff810841a5>] do_current_softirqs+0x285/0x680
> [ 1441.309174] [<ffffffff81084607>] __local_bh_enable+0x67/0x80
> [ 1441.309177] [<ffffffff810f7d81>] irq_forced_thread_fn+0x41/0x60
> [ 1441.309178] [<ffffffff810f832f>] irq_thread+0x13f/0x1e0
> [ 1441.309179] [<ffffffff810a5ecc>] kthread+0x10c/0x140
> [ 1441.309180] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
> [ 1441.309181]   -> (&per_cpu(local_softirq_locks[i], __cpu).lock){+.+...} ops: 3582145 {
> [ 1441.309182]      HARDIRQ-ON-W at:
> [ 1441.309183] [<ffffffff810e11b8>] __lock_acquire+0x938/0x1770
> [ 1441.309184] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309185] [<ffffffff8174cdea>] rt_spin_lock__no_mg+0x5a/0x70
> [ 1441.309186] [<ffffffff81084094>] do_current_softirqs+0x174/0x680
> [ 1441.309187] [<ffffffff81084607>] __local_bh_enable+0x67/0x80
> [ 1441.309188] [<ffffffff8113c631>] cgroup_idr_alloc.constprop.41+0x61/0x80
> [ 1441.309190] [<ffffffff811d4d5b>] cgroup_setup_root+0x65/0x28f
> [ 1441.309191] [<ffffffff81d9ef88>] cgroup_init+0xf7/0x3e5
> [ 1441.309193] [<ffffffff81d770d1>] start_kernel+0x43f/0x484
> [ 1441.309194] [<ffffffff81d76599>] x86_64_start_reservations+0x2a/0x2c
> [ 1441.309195] [<ffffffff81d766d8>] x86_64_start_kernel+0x13d/0x14c
> [ 1441.309196] [<ffffffff810001b5>] start_cpu+0x5/0x14
> [ 1441.309196]      SOFTIRQ-ON-W at:
> [ 1441.309197] [<ffffffff810e0b03>] __lock_acquire+0x283/0x1770
> [ 1441.309198] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309199] [<ffffffff8174cdea>] rt_spin_lock__no_mg+0x5a/0x70
> [ 1441.309200] [<ffffffff81084094>] do_current_softirqs+0x174/0x680
> [ 1441.309201] [<ffffffff81084607>] __local_bh_enable+0x67/0x80
> [ 1441.309202] [<ffffffff8113c631>] cgroup_idr_alloc.constprop.41+0x61/0x80
> [ 1441.309203] [<ffffffff811d4d5b>] cgroup_setup_root+0x65/0x28f
> [ 1441.309204] [<ffffffff81d9ef88>] cgroup_init+0xf7/0x3e5
> [ 1441.309204] [<ffffffff81d770d1>] start_kernel+0x43f/0x484
> [ 1441.309205] [<ffffffff81d76599>] x86_64_start_reservations+0x2a/0x2c
> [ 1441.309206] [<ffffffff81d766d8>] x86_64_start_kernel+0x13d/0x14c
> [ 1441.309207] [<ffffffff810001b5>] start_cpu+0x5/0x14
> [ 1441.309207]      INITIAL USE at:
> [ 1441.309208] [<ffffffff810e0b4e>] __lock_acquire+0x2ce/0x1770
> [ 1441.309209] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309210] [<ffffffff8174cdea>] rt_spin_lock__no_mg+0x5a/0x70
> [ 1441.309211] [<ffffffff81084094>] do_current_softirqs+0x174/0x680
> [ 1441.309212] [<ffffffff81084607>] __local_bh_enable+0x67/0x80
> [ 1441.309213] [<ffffffff8113c631>] cgroup_idr_alloc.constprop.41+0x61/0x80
> [ 1441.309213] [<ffffffff811d4d5b>] cgroup_setup_root+0x65/0x28f
> [ 1441.309215] [<ffffffff81d9ef88>] cgroup_init+0xf7/0x3e5
> [ 1441.309216] [<ffffffff81d770d1>] start_kernel+0x43f/0x484
> [ 1441.309216] [<ffffffff81d76599>] x86_64_start_reservations+0x2a/0x2c
> [ 1441.309217] [<ffffffff81d766d8>] x86_64_start_kernel+0x13d/0x14c
> [ 1441.309218] [<ffffffff810001b5>] start_cpu+0x5/0x14
> [ 1441.309218]    }
> [ 1441.309220]    ... key      at: [<ffffffff81f6c110>] __key.38555+0x0/0x8
> [ 1441.309220]    ... acquired at:
> [ 1441.309221] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309222] [<ffffffff8174cdea>] rt_spin_lock__no_mg+0x5a/0x70
> [ 1441.309222] [<ffffffff81084094>] do_current_softirqs+0x174/0x680
> [ 1441.309223] [<ffffffff81084607>] __local_bh_enable+0x67/0x80
> [ 1441.309225] [<ffffffff81200bc9>] wb_wakeup_delayed+0x69/0x70
> [ 1441.309226] [<ffffffff812a0aab>] __mark_inode_dirty+0x60b/0x7c0
> [ 1441.309227] [<ffffffff812ab235>] mark_buffer_dirty+0xb5/0x240
> [ 1441.309231] [<ffffffffa009ba1d>] __jbd2_journal_temp_unlink_buffer+0xbd/0xe0 [jbd2]
> [ 1441.309233] [<ffffffffa009e40a>] __jbd2_journal_refile_buffer+0xba/0xe0 [jbd2]
> [ 1441.309235] [<ffffffffa009fbed>] jbd2_journal_commit_transaction+0x112d/0x2130 [jbd2]
> [ 1441.309237] [<ffffffffa00a53dd>] kjournald2+0xcd/0x270 [jbd2]
> [ 1441.309239] [<ffffffff810a5ecc>] kthread+0x10c/0x140
> [ 1441.309239] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
> [ 1441.309240]  -> (&journal->j_list_lock){+.+...} ops: 587416 {
> [ 1441.309241]     HARDIRQ-ON-W at:
> [ 1441.309242] [<ffffffff810e11b8>] __lock_acquire+0x938/0x1770
> [ 1441.309243] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309244] [<ffffffff8174cd6f>] rt_spin_lock+0x5f/0x80
> [ 1441.309246] [<ffffffffa009d529>] do_get_write_access+0x3b9/0x5c0 [jbd2]
> [ 1441.309248] [<ffffffffa009d761>] jbd2_journal_get_write_access+0x31/0x60 [jbd2]
> [ 1441.309259] [<ffffffffa0105259>] __ext4_journal_get_write_access+0x49/0x90 [ext4]
> [ 1441.309264] [<ffffffffa00c5cb2>] ext4_file_open+0x1c2/0x230 [ext4]
> [ 1441.309265] [<ffffffff81268281>] do_dentry_open+0x231/0x360
> [ 1441.309266] [<ffffffff81269642>] vfs_open+0x52/0x80
> [ 1441.309268] [<ffffffff8127b206>] path_openat+0x476/0xdd0
> [ 1441.309269] [<ffffffff8127d64e>] do_filp_open+0x7e/0xd0
> [ 1441.309270] [<ffffffff812723b7>] do_open_execat+0x67/0x150
> [ 1441.309271] [<ffffffff812739ec>] do_execveat_common.isra.34+0x25c/0x9a0
> [ 1441.309272] [<ffffffff8127415c>] do_execve+0x2c/0x30
> [ 1441.309274] [<ffffffff81098c46>] call_usermodehelper_exec_async+0xf6/0x130
> [ 1441.309274] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
> [ 1441.309275]     SOFTIRQ-ON-W at:
> [ 1441.309276] [<ffffffff810e0b03>] __lock_acquire+0x283/0x1770
> [ 1441.309277] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309277] [<ffffffff8174cd6f>] rt_spin_lock+0x5f/0x80
> [ 1441.309279] [<ffffffffa009d529>] do_get_write_access+0x3b9/0x5c0 [jbd2]
> [ 1441.309281] [<ffffffffa009d761>] jbd2_journal_get_write_access+0x31/0x60 [jbd2]
> [ 1441.309288] [<ffffffffa0105259>] __ext4_journal_get_write_access+0x49/0x90 [ext4]
> [ 1441.309293] [<ffffffffa00c5cb2>] ext4_file_open+0x1c2/0x230 [ext4]
> [ 1441.309294] [<ffffffff81268281>] do_dentry_open+0x231/0x360
> [ 1441.309295] [<ffffffff81269642>] vfs_open+0x52/0x80
> [ 1441.309296] [<ffffffff8127b206>] path_openat+0x476/0xdd0
> [ 1441.309297] [<ffffffff8127d64e>] do_filp_open+0x7e/0xd0
> [ 1441.309298] [<ffffffff812723b7>] do_open_execat+0x67/0x150
> [ 1441.309299] [<ffffffff812739ec>] do_execveat_common.isra.34+0x25c/0x9a0
> [ 1441.309300] [<ffffffff8127415c>] do_execve+0x2c/0x30
> [ 1441.309301] [<ffffffff81098c46>] call_usermodehelper_exec_async+0xf6/0x130
> [ 1441.309302] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
> [ 1441.309302]     INITIAL USE at:
> [ 1441.309303] [<ffffffff810e0b4e>] __lock_acquire+0x2ce/0x1770
> [ 1441.309304] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309305] [<ffffffff8174cd6f>] rt_spin_lock+0x5f/0x80
> [ 1441.309307] [<ffffffffa009d529>] do_get_write_access+0x3b9/0x5c0 [jbd2]
> [ 1441.309308] [<ffffffffa009d761>] jbd2_journal_get_write_access+0x31/0x60 [jbd2]
> [ 1441.309314] [<ffffffffa0105259>] __ext4_journal_get_write_access+0x49/0x90 [ext4]
> [ 1441.309319] [<ffffffffa00c5cb2>] ext4_file_open+0x1c2/0x230 [ext4]
> [ 1441.309319] [<ffffffff81268281>] do_dentry_open+0x231/0x360
> [ 1441.309320] [<ffffffff81269642>] vfs_open+0x52/0x80
> [ 1441.309321] [<ffffffff8127b206>] path_openat+0x476/0xdd0
> [ 1441.309322] [<ffffffff8127d64e>] do_filp_open+0x7e/0xd0
> [ 1441.309323] [<ffffffff812723b7>] do_open_execat+0x67/0x150
> [ 1441.309324] [<ffffffff812739ec>] do_execveat_common.isra.34+0x25c/0x9a0
> [ 1441.309325] [<ffffffff8127415c>] do_execve+0x2c/0x30
> [ 1441.309326] [<ffffffff81098c46>] call_usermodehelper_exec_async+0xf6/0x130
> [ 1441.309327] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
> [ 1441.309327]   }
> [ 1441.309330]   ... key      at: [<ffffffffa00af5c0>] __key.47251+0x0/0xffffffffffff9a40 [jbd2]
> [ 1441.309330]   ... acquired at:
> [ 1441.309331] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309331] [<ffffffff8174cd6f>] rt_spin_lock+0x5f/0x80
> [ 1441.309333] [<ffffffffa009ee25>] jbd2_journal_commit_transaction+0x365/0x2130 [jbd2]
> [ 1441.309335] [<ffffffffa00a53dd>] kjournald2+0xcd/0x270 [jbd2]
> [ 1441.309337] [<ffffffff810a5ecc>] kthread+0x10c/0x140
> [ 1441.309337] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
> [ 1441.309338] -> (&journal->j_state_lock){+.+.-.} ops: 5849939 {
> [ 1441.309339]    HARDIRQ-ON-W at:
> [ 1441.309340] [<ffffffff810e11b8>] __lock_acquire+0x938/0x1770
> [ 1441.309341] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309341] [<ffffffff8174d291>] rt_write_lock+0x31/0x40
> [ 1441.309348] [<ffffffffa00e9c0d>] ext4_init_journal_params+0x4d/0xc0 [ext4]
> [ 1441.309353] [<ffffffffa00f515e>] ext4_fill_super+0x1e4e/0x3770 [ext4]
> [ 1441.309355] [<ffffffff8126ee4a>] mount_bdev+0x18a/0x1c0
> [ 1441.309360] [<ffffffffa00e9705>] ext4_mount+0x15/0x20 [ext4]
> [ 1441.309361] [<ffffffff8126fa79>] mount_fs+0x39/0x170
> [ 1441.309362] [<ffffffff81290817>] vfs_kern_mount+0x67/0x130
> [ 1441.309363] [<ffffffff812939fb>] do_mount+0x1bb/0xc60
> [ 1441.309364] [<ffffffff81294773>] SyS_mount+0x83/0xd0
> [ 1441.309365] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
> [ 1441.309365]    SOFTIRQ-ON-W at:
> [ 1441.309366] [<ffffffff810e0b03>] __lock_acquire+0x283/0x1770
> [ 1441.309367] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309368] [<ffffffff8174d291>] rt_write_lock+0x31/0x40
> [ 1441.309373] [<ffffffffa00e9c0d>] ext4_init_journal_params+0x4d/0xc0 [ext4]
> [ 1441.309378] [<ffffffffa00f515e>] ext4_fill_super+0x1e4e/0x3770 [ext4]
> [ 1441.309379] [<ffffffff8126ee4a>] mount_bdev+0x18a/0x1c0
> [ 1441.309383] [<ffffffffa00e9705>] ext4_mount+0x15/0x20 [ext4]
> [ 1441.309385] [<ffffffff8126fa79>] mount_fs+0x39/0x170
> [ 1441.309385] [<ffffffff81290817>] vfs_kern_mount+0x67/0x130
> [ 1441.309386] [<ffffffff812939fb>] do_mount+0x1bb/0xc60
> [ 1441.309387] [<ffffffff81294773>] SyS_mount+0x83/0xd0
> [ 1441.309388] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
> [ 1441.309388]    IN-RECLAIM_FS-W at:
> [ 1441.309390] [<ffffffff810e0b36>] __lock_acquire+0x2b6/0x1770
> [ 1441.309391] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309391] [<ffffffff8174d307>] rt_read_lock+0x47/0x60
> [ 1441.309394] [<ffffffffa00a6d60>] jbd2_complete_transaction+0x20/0x90 [jbd2]
> [ 1441.309398] [<ffffffffa00d472e>] ext4_evict_inode+0x37e/0x700 [ext4]
> [ 1441.309400] [<ffffffff8128b221>] evict+0xd1/0x1a0
> [ 1441.309401] [<ffffffff8128b33d>] dispose_list+0x4d/0x70
> [ 1441.309402] [<ffffffff8128c60b>] prune_icache_sb+0x4b/0x60
> [ 1441.309404] [<ffffffff8126f381>] super_cache_scan+0x141/0x190
> [ 1441.309405] [<ffffffff811efc27>] shrink_slab+0x277/0x6c0
> [ 1441.309406] [<ffffffff811f4523>] shrink_node+0x2e3/0x2f0
> [ 1441.309407] [<ffffffff811f5a7f>] kswapd+0x34f/0x980
> [ 1441.309409] [<ffffffff810a5ecc>] kthread+0x10c/0x140
> [ 1441.309409] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
> [ 1441.309410]    INITIAL USE at:
> [ 1441.309411] [<ffffffff810e0b4e>] __lock_acquire+0x2ce/0x1770
> [ 1441.309412] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309412] [<ffffffff8174d291>] rt_write_lock+0x31/0x40
> [ 1441.309417] [<ffffffffa00e9c0d>] ext4_init_journal_params+0x4d/0xc0 [ext4]
> [ 1441.309422] [<ffffffffa00f515e>] ext4_fill_super+0x1e4e/0x3770 [ext4]
> [ 1441.309423] [<ffffffff8126ee4a>] mount_bdev+0x18a/0x1c0
> [ 1441.309427] [<ffffffffa00e9705>] ext4_mount+0x15/0x20 [ext4]
> [ 1441.309429] [<ffffffff8126fa79>] mount_fs+0x39/0x170
> [ 1441.309429] [<ffffffff81290817>] vfs_kern_mount+0x67/0x130
> [ 1441.309430] [<ffffffff812939fb>] do_mount+0x1bb/0xc60
> [ 1441.309431] [<ffffffff81294773>] SyS_mount+0x83/0xd0
> [ 1441.309432] [<ffffffff8174d545>] entry_SYSCALL_64_fastpath+0x23/0xc6
> [ 1441.309432]  }
> [ 1441.309435]  ... key      at: [<ffffffffa00af5b0>] __key.47253+0x0/0xffffffffffff9a50 [jbd2]
> [ 1441.309435]  ... acquired at:
> [ 1441.309436] [<ffffffff810df99e>] check_usage_forwards+0x11e/0x120
> [ 1441.309437] [<ffffffff810e01a8>] mark_lock+0x1e8/0x2f0
> [ 1441.309437] [<ffffffff810e0b36>] __lock_acquire+0x2b6/0x1770
> [ 1441.309438] [<ffffffff810e2564>] lock_acquire+0xd4/0x270
> [ 1441.309439] [<ffffffff8174d307>] rt_read_lock+0x47/0x60
> [ 1441.309441] [<ffffffffa00a6d60>] jbd2_complete_transaction+0x20/0x90 [jbd2]
> [ 1441.309446] [<ffffffffa00d472e>] ext4_evict_inode+0x37e/0x700 [ext4]
> [ 1441.309447] [<ffffffff8128b221>] evict+0xd1/0x1a0
> [ 1441.309448] [<ffffffff8128b33d>] dispose_list+0x4d/0x70
> [ 1441.309449] [<ffffffff8128c60b>] prune_icache_sb+0x4b/0x60
> [ 1441.309450] [<ffffffff8126f381>] super_cache_scan+0x141/0x190
> [ 1441.309451] [<ffffffff811efc27>] shrink_slab+0x277/0x6c0
> [ 1441.309452] [<ffffffff811f4523>] shrink_node+0x2e3/0x2f0
> [ 1441.309453] [<ffffffff811f5a7f>] kswapd+0x34f/0x980
> [ 1441.309454] [<ffffffff810a5ecc>] kthread+0x10c/0x140
> [ 1441.309455] [<ffffffff8174d7da>] ret_from_fork+0x2a/0x40
> [ 1441.309455] stack backtrace:
> [ 1441.309457] CPU: 0 PID: 165 Comm: kswapd0 Tainted: G            E   4.10.0-rt9-rt #11
> [ 1441.309457] Hardware name: MEDION MS-7848/MS-7848, BIOS M7848W08.20C 09/23/2013
> [ 1441.309457] Call Trace:
> [ 1441.309459]  dump_stack+0x85/0xc8
> [ 1441.309461]  print_irq_inversion_bug.part.34+0x1ac/0x1b8
> [ 1441.309462]  check_usage_forwards+0x11e/0x120
> [ 1441.309463]  ? check_usage_backwards+0x120/0x120
> [ 1441.309463]  mark_lock+0x1e8/0x2f0
> [ 1441.309464]  __lock_acquire+0x2b6/0x1770
> [ 1441.309465]  ? __lock_acquire+0x420/0x1770
> [ 1441.309466]  lock_acquire+0xd4/0x270
> [ 1441.309468]  ? jbd2_complete_transaction+0x20/0x90 [jbd2]
> [ 1441.309469]  rt_read_lock+0x47/0x60
> [ 1441.309471]  ? jbd2_complete_transaction+0x20/0x90 [jbd2]
> [ 1441.309472]  jbd2_complete_transaction+0x20/0x90 [jbd2]
> [ 1441.309477]  ext4_evict_inode+0x37e/0x700 [ext4]
> [ 1441.309478]  evict+0xd1/0x1a0
> [ 1441.309479]  dispose_list+0x4d/0x70
> [ 1441.309480]  prune_icache_sb+0x4b/0x60
> [ 1441.309481]  super_cache_scan+0x141/0x190
> [ 1441.309482]  shrink_slab+0x277/0x6c0
> [ 1441.309483]  shrink_node+0x2e3/0x2f0
> [ 1441.309485]  kswapd+0x34f/0x980
> [ 1441.309487]  kthread+0x10c/0x140
> [ 1441.309488]  ? mem_cgroup_shrink_node+0x390/0x390
> [ 1441.309488]  ? kthread_park+0x90/0x90
> [ 1441.309489]  ret_from_fork+0x2a/0x40
diff mbox

Patch

--- a/fs/xfs/kmem.h
+++ b/fs/xfs/kmem.h
@@ -45,7 +45,7 @@  kmem_flags_convert(xfs_km_flags_t flags)
 {
 	gfp_t	lflags;
 
-	BUG_ON(flags & ~(KM_SLEEP|KM_NOSLEEP|KM_NOFS|KM_MAYFAIL|KM_ZERO));
+	BUG_ON(flags & ~(KM_SLEEP|KM_NOSLEEP|KM_NOFS|KM_MAYFAIL|KM_ZERO|KM_NOLOCKDEP));
 
 	if (flags & KM_NOSLEEP) {
 		lflags = GFP_ATOMIC | __GFP_NOWARN;