From: Sudeep Holla <sudeep.holla@arm.com>
To: lkp@lists.01.org
Subject: Re: [mm] e7c1db75fe: BUG:sleeping_function_called_from_invalid_context_at_mm/page_alloc.c
Date: Wed, 30 Nov 2016 12:28:01 +0000 [thread overview]
Message-ID: <20161130122801.GA455@e107155-lin> (raw)
In-Reply-To: <20161130074014.GN3924@linux.vnet.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 12488 bytes --]
On 30/11/16 07:40, Paul E. McKenney wrote:
> On Wed, Nov 30, 2016 at 08:16:02AM +0100, Michal Hocko wrote:
>> On Tue 29-11-16 11:14:48, Paul E. McKenney wrote:
>>> On Tue, Nov 29, 2016 at 05:21:19PM +0000, Sudeep Holla wrote:
>>>> On Sun, Nov 27, 2016 at 6:16 PM, kernel test robot
>>>> <xiaolong.ye@intel.com> wrote:
>>>>>
>>>>> FYI, we noticed the following commit:
>>>>>
>>>>> commit e7c1db75fed821a961ce1ca2b602b08e75de0cd8 ("mm: Prevent __alloc_pages_nodemask() RCU CPU stall warnings")
>>>>> https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
>>>>>
>>>>> in testcase: boot
>>>>>
>>>>> on test machine: qemu-system-x86_64 -enable-kvm -cpu Nehalem -smp 2 -m 1G
>>>>>
>>>>> caused below changes:
>>>>>
>>>> [...]
>>>>
>>>>> [ 8.953192] BUG: sleeping function called from invalid context at mm/page_alloc.c:3746
>>>>> [ 8.956353] in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/0
>>>>
>>>> I am observing similar BUG/backtrace even on ARM64 platform.
>>>
>>> Does the (untested) patch below help?
Yes it didn't work for me either. Adding the log from my setup(in case
it's useful)
Regards,
Sudeep
--->8
BUG: sleeping function called from invalid context at mm/page_alloc.c:3775
in_atomic(): 1, irqs_disabled(): 128, pid: 1, name: swapper/0
1 lock held by swapper/0/1:
#0: (&sig->cred_guard_mutex ){+.+.+.}, at: prepare_bprm_creds+0x2c/0x70
irq event stamp: 508063
hardirqs last enabled at (508062): __netdev_alloc_skb+0x11c/0x160
hardirqs last disabled at (508063): __slab_alloc.isra.22.constprop.26+0x30/0x90
softirqs last enabled at (508052): xprt_end_transmit+0x4c/0x60
softirqs last disabled at (508053): do_softirq.part.4+0x7c/0x98
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
___might_sleep+0x14c/0x1f8
__alloc_pages_nodemask+0x414/0xef0
new_slab+0xa4/0x558
___slab_alloc.constprop.27+0x2f8/0x378
__slab_alloc.isra.22.constprop.26+0x4c/0x90
kmem_cache_alloc+0x388/0x430
__build_skb+0x34/0xc0
__netdev_alloc_skb+0xf0/0x160
smsc911x_poll+0x9c/0x280
net_rx_action+0x200/0x510
__do_softirq+0x12c/0x6fc
do_softirq.part.4+0x7c/0x98
__local_bh_enable_ip+0x110/0x138
_raw_spin_unlock_bh+0x40/0x50
xprt_end_transmit+0x4c/0x60
call_transmit_status+0x58/0x100
call_transmit+0x178/0x1e8
__rpc_execute+0xa0/0x680
rpc_execute+0xb4/0x298
rpc_run_task+0x11c/0x168
nfs4_call_sync_sequence+0x6c/0x98
_nfs4_proc_access+0xe8/0x170
nfs4_proc_access+0x88/0x2a0
nfs_do_access+0x458/0x778
nfs_permission+0x2c8/0x2f8
__inode_permission+0xa0/0x100
inode_permission+0x2c/0x70
link_path_walk+0x98/0x518
path_openat+0x74/0x340
do_filp_open+0x70/0xf8
do_open_execat+0x70/0x1a0
do_execveat_common.isra.14+0x288/0x998
do_execve+0x44/0x58
run_init_process+0x38/0x48
try_to_run_init_process+0x20/0x58
kernel_init+0xb4/0x108
ret_from_fork+0x10/0x30
BUG: sleeping function called from invalid context at mm/page_alloc.c:3775
in_atomic(): 1, irqs_disabled(): 128, pid: 98, name: kworker/0:1
3 locks held by kworker/0:1/98:
#0: ("rpciod" ){.+.+..} , at: process_one_work+0x198/0x818
#1: ((&task->u.tk_work)){+.+...}, at: process_one_work+0x198/0x818
#2: (&(&clnt->cl_lock)->rlock){+.+...}, at: rpc_task_release_client+0x38/0xb0
irq event stamp: 31359
hardirqs last enabled at (31358): _raw_spin_unlock_irqrestore+0x84/0x90
hardirqs last disabled at (31359): __netdev_alloc_skb+0xa8/0x160
softirqs last enabled at (31252): rpc_wake_up_first_on_wq+0x84/0x200
softirqs last disabled at (31255): irq_exit+0xe8/0x148
CPU: 0 PID: 98 Comm: kworker/0:1 Tainted: G W 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Workqueue: rpciod rpc_async_schedule
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
___might_sleep+0x14c/0x1f8
__alloc_pages_nodemask+0x414/0xef0
__alloc_page_frag+0xa8/0x158
__netdev_alloc_skb+0xcc/0x160
smsc911x_poll+0x9c/0x280
net_rx_action+0x200/0x510
__do_softirq+0x12c/0x6fc
irq_exit+0xe8/0x148
__handle_domain_irq+0x6c/0xc0
gic_handle_irq+0x5c/0xb0
BUG: sleeping function called from invalid context at mm/page_alloc.c:3775
in_atomic(): 1, irqs_disabled(): 128, pid: 1326, name: kworker/0:1H
4 locks held by kworker/0:1H/1326:
#0: ("xprtiod"){.+.+.+}, at: process_one_work+0x198/0x818
#1: ((&transport->recv_worker)){+.+...}, at: process_one_work+0x198/0x818
#2: (&new->recv_mutex){+.+...}, at: xs_tcp_data_receive_workfn+0x4c/0x2f8
#3: (sk_lock-AF_INET-RPC){+.+...}, at: xs_tcp_data_receive_workfn+0x74/0x2f8
irq event stamp: 41851
hardirqs last enabled at (41850): _raw_spin_unlock_irqrestore+0x84/0x90
hardirqs last disabled at (41851): __netdev_alloc_skb+0xa8/0x160
softirqs last enabled at (41836): xs_tcp_data_recv+0x580/0x960
softirqs last disabled at (41843): irq_exit+0xe8/0x148
CPU: 0 PID: 1326 Comm: kworker/0:1H Tainted: G W 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Workqueue: xprtiod xs_tcp_data_receive_workfn
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
___might_sleep+0x14c/0x1f8
__alloc_pages_nodemask+0x414/0xef0
__alloc_page_frag+0xa8/0x158
__netdev_alloc_skb+0xcc/0x160
smsc911x_poll+0x9c/0x280
net_rx_action+0x200/0x510
__do_softirq+0x12c/0x6fc
irq_exit+0xe8/0x148
__handle_domain_irq+0x6c/0xc0
gic_handle_irq+0x5c/0xb0
Exception stack(0xffff800974d4b9e0 to 0xffff800974d4bb10)
b9e0: ffff800974c59600 000000000001fc5a 0000800976db6000 fffffffffffffe50
ba00: 0000000000000004 0000000000000040 0000800976db6000 ffff000009353c38
ba20: 0000000000000001 00010643c0000000 c000000000100400 0010080000012144
ba40: 00012145c0000000 c000000000101000 0010180000010646 0000000000000000
ba60: 0000000000000000 0000000000000000 0000000000000000 ffff7e0025d34600
ba80: 00000000009f4d18 0000000000000040 0000000000000003 0000000000000000
baa0: ffff7e0025d34800 0000000000000001 000000000018bce1 ffff800974c0c830
bac0: 0000000000000000 ffff800974d4bb10 ffff00000821b9bc ffff800974d4bb10
bae0: ffff00000821b9c0 0000000060000045 0000000000000040 0000000000000000
bb00: ffffffffffffffff ffff00000821b9bc
el1_irq+0xb8/0x130
__free_pages_ok+0x1d0/0x4b0
__free_page_frag+0x78/0x88
skb_free_head+0x3c/0x48
skb_release_data+0xd0/0xf8
skb_release_all+0x30/0x40
__kfree_skb+0x20/0x38
tcp_read_sock+0x118/0x1d8
xs_tcp_data_receive_workfn+0x84/0x2f8
process_one_work+0x248/0x818
worker_thread+0x54/0x438
kthread+0xe0/0xf8
ret_from_fork+0x10/0x30
BUG: sleeping function called from invalid context at mm/page_alloc.c:3775
in_atomic(): 1, irqs_disabled(): 128, pid: 6, name: ksoftirqd/0
no locks held by ksoftirqd/0/6.
irq event stamp: 76667
hardirqs last enabled at (76666): _raw_spin_unlock_irqrestore+0x84/0x90
hardirqs last disabled at (76667): __netdev_alloc_skb+0xa8/0x160
softirqs last enabled at (76506): __do_softirq+0x5f4/0x6fc
softirqs last disabled at (76511): run_ksoftirqd+0x40/0xb0
CPU: 0 PID: 6 Comm: ksoftirqd/0 Tainted: G W 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
___might_sleep+0x14c/0x1f8
__alloc_pages_nodemask+0x414/0xef0
__alloc_page_frag+0xa8/0x158
__netdev_alloc_skb+0xcc/0x160
smsc911x_poll+0x9c/0x280
net_rx_action+0x200/0x510
__do_softirq+0x12c/0x6fc
run_ksoftirqd+0x40/0xb0
smpboot_thread_fn+0x1d4/0x308
kthread+0xe0/0xf8
ret_from_fork+0x10/0x30
BUG: sleeping function called from invalid context at mm/page_alloc.c:3775
in_atomic(): 1, irqs_disabled(): 128, pid: 6, name: ksoftirqd/0
no locks held by ksoftirqd/0/6.
irq event stamp: 121831
hardirqs last enabled at (121830): _raw_spin_unlock_irqrestore+0x84/0x90
hardirqs last disabled at (121831): __netdev_alloc_skb+0xa8/0x160
softirqs last enabled at (121742): __do_softirq+0x5f4/0x6fc
softirqs last disabled at (121747): run_ksoftirqd+0x40/0xb0
CPU: 0 PID: 6 Comm: ksoftirqd/0 Tainted: G W 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
___might_sleep+0x14c/0x1f8
__alloc_pages_nodemask+0x414/0xef0
__alloc_page_frag+0xa8/0x158
__netdev_alloc_skb+0xcc/0x160
smsc911x_poll+0x9c/0x280
net_rx_action+0x200/0x510
__do_softirq+0x12c/0x6fc
run_ksoftirqd+0x40/0xb0
smpboot_thread_fn+0x1d4/0x308
kthread+0xe0/0xf8
ret_from_fork+0x10/0x30
NET: Registered protocol family 10
===============================
suspicious RCU usage. ]
4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218 Tainted: G W
-------------------------------
kernel/sched/core.c:7747 Illegal context switch in RCU-bh read-side critical section!
other info that might help us debug this:
rcu_scheduler_active = 1, debug_locks = 1
3 locks held by systemd/1:
#0: (rtnl_mutex ){+.+.+.}, at: rtnl_lock+0x20/0x28
#1: (rcu_read_lock_bh){......}, at: ipv6_add_addr+0x70/0x548 [ipv6]
#2: (addrconf_hash_lock){+.....}, at: ipv6_add_addr+0x194/0x548 [ipv6]
stack backtrace:
CPU: 3 PID: 1 Comm: systemd Tainted: G W 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
lockdep_rcu_suspicious+0xcc/0x110
___might_sleep+0x1e0/0x1f8
__alloc_pages_nodemask+0x414/0xef0
new_slab+0xa4/0x558
___slab_alloc.constprop.27+0x2f8/0x378
__slab_alloc.isra.22.constprop.26+0x4c/0x90
kmem_cache_alloc+0x388/0x430
dst_alloc+0x5c/0xb0
__ip6_dst_alloc+0x3c/0xa0 [ipv6]
ip6_dst_alloc+0x38/0x108 [ipv6]
addrconf_dst_alloc+0x4c/0x130 [ipv6]
ipv6_add_addr+0x274/0x548 [ipv6]
add_addr+0x4c/0xd8 [ipv6]
addrconf_notify+0x5c4/0xa98 [ipv6]
register_netdevice_notifier+0x1e0/0x1e8
addrconf_init+0xb8/0x270 [ipv6]
inet6_init+0x180/0x330 [ipv6]
do_one_initcall+0x44/0x138
do_init_module+0x64/0x1d0
load_module+0x1230/0x1560
SyS_finit_module+0x120/0x130
el0_svc_naked+0x24/0x28
BUG: sleeping function called from invalid context at mm/page_alloc.c:3775
in_atomic(): 1, irqs_disabled(): 128, pid: 1, name: systemd
3 locks held by systemd/1:
#0: (rtnl_mutex){+.+.+.} , at: rtnl_lock+0x20/0x28
#1: (rcu_read_lock_bh){......}, at: ipv6_add_addr+0x70/0x548 [ipv6]
#2: (addrconf_hash_lock){+.....}, at: ipv6_add_addr+0x194/0x548 [ipv6]
irq event stamp: 619543
hardirqs last enabled at (619541): __local_bh_enable_ip+0x88/0x138
hardirqs last disabled at (619543): __slab_alloc.isra.22.constprop.26+0x30/0x90
softirqs last enabled at (619540): ipv6_mc_up+0x4c/0x58 [ipv6]
softirqs last disabled at (619542): ipv6_add_addr+0x70/0x548 [ipv6]
CPU: 3 PID: 1 Comm: systemd Tainted: G W 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
___might_sleep+0x14c/0x1f8
__alloc_pages_nodemask+0x414/0xef0
new_slab+0xa4/0x558
___slab_alloc.constprop.27+0x2f8/0x378
__slab_alloc.isra.22.constprop.26+0x4c/0x90
kmem_cache_alloc+0x388/0x430
dst_alloc+0x5c/0xb0
__ip6_dst_alloc+0x3c/0xa0 [ipv6]
ip6_dst_alloc+0x38/0x108 [ipv6]
addrconf_dst_alloc+0x4c/0x130 [ipv6]
ipv6_add_addr+0x274/0x548 [ipv6]
add_addr+0x4c/0xd8 [ipv6]
addrconf_notify+0x5c4/0xa98 [ipv6]
register_netdevice_notifier+0x1e0/0x1e8
addrconf_init+0xb8/0x270 [ipv6]
inet6_init+0x180/0x330 [ipv6]
do_one_initcall+0x44/0x138
do_init_module+0x64/0x1d0
load_module+0x1230/0x1560
SyS_finit_module+0x120/0x130
el0_svc_naked+0x24/0x28
WARNING: multiple messages have this Message-ID (diff)
From: Sudeep Holla <sudeep.holla@arm.com>
To: paulmck@linux.vnet.ibm.com, Michal Hocko <mhocko@kernel.org>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
Boris Zhmurov <bb@kernelpanic.ru>,
Andrew Morton <akpm@linux-foundation.org>,
Johannes Weiner <hannes@cmpxchg.org>,
Vlastimil Babka <vbabka@suse.cz>,
LKML <linux-kernel@vger.kernel.org>,
lkp@01.org, kernel test robot <xiaolong.ye@intel.com>
Subject: Re: [lkp] [mm] e7c1db75fe: BUG:sleeping_function_called_from_invalid_context_at_mm/page_alloc.c
Date: Wed, 30 Nov 2016 12:28:01 +0000 [thread overview]
Message-ID: <20161130122801.GA455@e107155-lin> (raw)
In-Reply-To: <20161130074014.GN3924@linux.vnet.ibm.com>
On 30/11/16 07:40, Paul E. McKenney wrote:
> On Wed, Nov 30, 2016 at 08:16:02AM +0100, Michal Hocko wrote:
>> On Tue 29-11-16 11:14:48, Paul E. McKenney wrote:
>>> On Tue, Nov 29, 2016 at 05:21:19PM +0000, Sudeep Holla wrote:
>>>> On Sun, Nov 27, 2016 at 6:16 PM, kernel test robot
>>>> <xiaolong.ye@intel.com> wrote:
>>>>>
>>>>> FYI, we noticed the following commit:
>>>>>
>>>>> commit e7c1db75fed821a961ce1ca2b602b08e75de0cd8 ("mm: Prevent __alloc_pages_nodemask() RCU CPU stall warnings")
>>>>> https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
>>>>>
>>>>> in testcase: boot
>>>>>
>>>>> on test machine: qemu-system-x86_64 -enable-kvm -cpu Nehalem -smp 2 -m 1G
>>>>>
>>>>> caused below changes:
>>>>>
>>>> [...]
>>>>
>>>>> [ 8.953192] BUG: sleeping function called from invalid context at mm/page_alloc.c:3746
>>>>> [ 8.956353] in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/0
>>>>
>>>> I am observing similar BUG/backtrace even on ARM64 platform.
>>>
>>> Does the (untested) patch below help?
Yes it didn't work for me either. Adding the log from my setup(in case
it's useful)
Regards,
Sudeep
--->8
BUG: sleeping function called from invalid context at mm/page_alloc.c:3775
in_atomic(): 1, irqs_disabled(): 128, pid: 1, name: swapper/0
1 lock held by swapper/0/1:
#0: (&sig->cred_guard_mutex ){+.+.+.}, at: prepare_bprm_creds+0x2c/0x70
irq event stamp: 508063
hardirqs last enabled at (508062): __netdev_alloc_skb+0x11c/0x160
hardirqs last disabled at (508063): __slab_alloc.isra.22.constprop.26+0x30/0x90
softirqs last enabled at (508052): xprt_end_transmit+0x4c/0x60
softirqs last disabled at (508053): do_softirq.part.4+0x7c/0x98
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
___might_sleep+0x14c/0x1f8
__alloc_pages_nodemask+0x414/0xef0
new_slab+0xa4/0x558
___slab_alloc.constprop.27+0x2f8/0x378
__slab_alloc.isra.22.constprop.26+0x4c/0x90
kmem_cache_alloc+0x388/0x430
__build_skb+0x34/0xc0
__netdev_alloc_skb+0xf0/0x160
smsc911x_poll+0x9c/0x280
net_rx_action+0x200/0x510
__do_softirq+0x12c/0x6fc
do_softirq.part.4+0x7c/0x98
__local_bh_enable_ip+0x110/0x138
_raw_spin_unlock_bh+0x40/0x50
xprt_end_transmit+0x4c/0x60
call_transmit_status+0x58/0x100
call_transmit+0x178/0x1e8
__rpc_execute+0xa0/0x680
rpc_execute+0xb4/0x298
rpc_run_task+0x11c/0x168
nfs4_call_sync_sequence+0x6c/0x98
_nfs4_proc_access+0xe8/0x170
nfs4_proc_access+0x88/0x2a0
nfs_do_access+0x458/0x778
nfs_permission+0x2c8/0x2f8
__inode_permission+0xa0/0x100
inode_permission+0x2c/0x70
link_path_walk+0x98/0x518
path_openat+0x74/0x340
do_filp_open+0x70/0xf8
do_open_execat+0x70/0x1a0
do_execveat_common.isra.14+0x288/0x998
do_execve+0x44/0x58
run_init_process+0x38/0x48
try_to_run_init_process+0x20/0x58
kernel_init+0xb4/0x108
ret_from_fork+0x10/0x30
BUG: sleeping function called from invalid context at mm/page_alloc.c:3775
in_atomic(): 1, irqs_disabled(): 128, pid: 98, name: kworker/0:1
3 locks held by kworker/0:1/98:
#0: ("rpciod" ){.+.+..} , at: process_one_work+0x198/0x818
#1: ((&task->u.tk_work)){+.+...}, at: process_one_work+0x198/0x818
#2: (&(&clnt->cl_lock)->rlock){+.+...}, at: rpc_task_release_client+0x38/0xb0
irq event stamp: 31359
hardirqs last enabled at (31358): _raw_spin_unlock_irqrestore+0x84/0x90
hardirqs last disabled at (31359): __netdev_alloc_skb+0xa8/0x160
softirqs last enabled at (31252): rpc_wake_up_first_on_wq+0x84/0x200
softirqs last disabled at (31255): irq_exit+0xe8/0x148
CPU: 0 PID: 98 Comm: kworker/0:1 Tainted: G W 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Workqueue: rpciod rpc_async_schedule
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
___might_sleep+0x14c/0x1f8
__alloc_pages_nodemask+0x414/0xef0
__alloc_page_frag+0xa8/0x158
__netdev_alloc_skb+0xcc/0x160
smsc911x_poll+0x9c/0x280
net_rx_action+0x200/0x510
__do_softirq+0x12c/0x6fc
irq_exit+0xe8/0x148
__handle_domain_irq+0x6c/0xc0
gic_handle_irq+0x5c/0xb0
BUG: sleeping function called from invalid context at mm/page_alloc.c:3775
in_atomic(): 1, irqs_disabled(): 128, pid: 1326, name: kworker/0:1H
4 locks held by kworker/0:1H/1326:
#0: ("xprtiod"){.+.+.+}, at: process_one_work+0x198/0x818
#1: ((&transport->recv_worker)){+.+...}, at: process_one_work+0x198/0x818
#2: (&new->recv_mutex){+.+...}, at: xs_tcp_data_receive_workfn+0x4c/0x2f8
#3: (sk_lock-AF_INET-RPC){+.+...}, at: xs_tcp_data_receive_workfn+0x74/0x2f8
irq event stamp: 41851
hardirqs last enabled at (41850): _raw_spin_unlock_irqrestore+0x84/0x90
hardirqs last disabled at (41851): __netdev_alloc_skb+0xa8/0x160
softirqs last enabled at (41836): xs_tcp_data_recv+0x580/0x960
softirqs last disabled at (41843): irq_exit+0xe8/0x148
CPU: 0 PID: 1326 Comm: kworker/0:1H Tainted: G W 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Workqueue: xprtiod xs_tcp_data_receive_workfn
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
___might_sleep+0x14c/0x1f8
__alloc_pages_nodemask+0x414/0xef0
__alloc_page_frag+0xa8/0x158
__netdev_alloc_skb+0xcc/0x160
smsc911x_poll+0x9c/0x280
net_rx_action+0x200/0x510
__do_softirq+0x12c/0x6fc
irq_exit+0xe8/0x148
__handle_domain_irq+0x6c/0xc0
gic_handle_irq+0x5c/0xb0
Exception stack(0xffff800974d4b9e0 to 0xffff800974d4bb10)
b9e0: ffff800974c59600 000000000001fc5a 0000800976db6000 fffffffffffffe50
ba00: 0000000000000004 0000000000000040 0000800976db6000 ffff000009353c38
ba20: 0000000000000001 00010643c0000000 c000000000100400 0010080000012144
ba40: 00012145c0000000 c000000000101000 0010180000010646 0000000000000000
ba60: 0000000000000000 0000000000000000 0000000000000000 ffff7e0025d34600
ba80: 00000000009f4d18 0000000000000040 0000000000000003 0000000000000000
baa0: ffff7e0025d34800 0000000000000001 000000000018bce1 ffff800974c0c830
bac0: 0000000000000000 ffff800974d4bb10 ffff00000821b9bc ffff800974d4bb10
bae0: ffff00000821b9c0 0000000060000045 0000000000000040 0000000000000000
bb00: ffffffffffffffff ffff00000821b9bc
el1_irq+0xb8/0x130
__free_pages_ok+0x1d0/0x4b0
__free_page_frag+0x78/0x88
skb_free_head+0x3c/0x48
skb_release_data+0xd0/0xf8
skb_release_all+0x30/0x40
__kfree_skb+0x20/0x38
tcp_read_sock+0x118/0x1d8
xs_tcp_data_receive_workfn+0x84/0x2f8
process_one_work+0x248/0x818
worker_thread+0x54/0x438
kthread+0xe0/0xf8
ret_from_fork+0x10/0x30
BUG: sleeping function called from invalid context at mm/page_alloc.c:3775
in_atomic(): 1, irqs_disabled(): 128, pid: 6, name: ksoftirqd/0
no locks held by ksoftirqd/0/6.
irq event stamp: 76667
hardirqs last enabled at (76666): _raw_spin_unlock_irqrestore+0x84/0x90
hardirqs last disabled at (76667): __netdev_alloc_skb+0xa8/0x160
softirqs last enabled at (76506): __do_softirq+0x5f4/0x6fc
softirqs last disabled at (76511): run_ksoftirqd+0x40/0xb0
CPU: 0 PID: 6 Comm: ksoftirqd/0 Tainted: G W 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
___might_sleep+0x14c/0x1f8
__alloc_pages_nodemask+0x414/0xef0
__alloc_page_frag+0xa8/0x158
__netdev_alloc_skb+0xcc/0x160
smsc911x_poll+0x9c/0x280
net_rx_action+0x200/0x510
__do_softirq+0x12c/0x6fc
run_ksoftirqd+0x40/0xb0
smpboot_thread_fn+0x1d4/0x308
kthread+0xe0/0xf8
ret_from_fork+0x10/0x30
BUG: sleeping function called from invalid context at mm/page_alloc.c:3775
in_atomic(): 1, irqs_disabled(): 128, pid: 6, name: ksoftirqd/0
no locks held by ksoftirqd/0/6.
irq event stamp: 121831
hardirqs last enabled at (121830): _raw_spin_unlock_irqrestore+0x84/0x90
hardirqs last disabled at (121831): __netdev_alloc_skb+0xa8/0x160
softirqs last enabled at (121742): __do_softirq+0x5f4/0x6fc
softirqs last disabled at (121747): run_ksoftirqd+0x40/0xb0
CPU: 0 PID: 6 Comm: ksoftirqd/0 Tainted: G W 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
___might_sleep+0x14c/0x1f8
__alloc_pages_nodemask+0x414/0xef0
__alloc_page_frag+0xa8/0x158
__netdev_alloc_skb+0xcc/0x160
smsc911x_poll+0x9c/0x280
net_rx_action+0x200/0x510
__do_softirq+0x12c/0x6fc
run_ksoftirqd+0x40/0xb0
smpboot_thread_fn+0x1d4/0x308
kthread+0xe0/0xf8
ret_from_fork+0x10/0x30
NET: Registered protocol family 10
===============================
suspicious RCU usage. ]
4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218 Tainted: G W
-------------------------------
kernel/sched/core.c:7747 Illegal context switch in RCU-bh read-side critical section!
other info that might help us debug this:
rcu_scheduler_active = 1, debug_locks = 1
3 locks held by systemd/1:
#0: (rtnl_mutex ){+.+.+.}, at: rtnl_lock+0x20/0x28
#1: (rcu_read_lock_bh){......}, at: ipv6_add_addr+0x70/0x548 [ipv6]
#2: (addrconf_hash_lock){+.....}, at: ipv6_add_addr+0x194/0x548 [ipv6]
stack backtrace:
CPU: 3 PID: 1 Comm: systemd Tainted: G W 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
lockdep_rcu_suspicious+0xcc/0x110
___might_sleep+0x1e0/0x1f8
__alloc_pages_nodemask+0x414/0xef0
new_slab+0xa4/0x558
___slab_alloc.constprop.27+0x2f8/0x378
__slab_alloc.isra.22.constprop.26+0x4c/0x90
kmem_cache_alloc+0x388/0x430
dst_alloc+0x5c/0xb0
__ip6_dst_alloc+0x3c/0xa0 [ipv6]
ip6_dst_alloc+0x38/0x108 [ipv6]
addrconf_dst_alloc+0x4c/0x130 [ipv6]
ipv6_add_addr+0x274/0x548 [ipv6]
add_addr+0x4c/0xd8 [ipv6]
addrconf_notify+0x5c4/0xa98 [ipv6]
register_netdevice_notifier+0x1e0/0x1e8
addrconf_init+0xb8/0x270 [ipv6]
inet6_init+0x180/0x330 [ipv6]
do_one_initcall+0x44/0x138
do_init_module+0x64/0x1d0
load_module+0x1230/0x1560
SyS_finit_module+0x120/0x130
el0_svc_naked+0x24/0x28
BUG: sleeping function called from invalid context at mm/page_alloc.c:3775
in_atomic(): 1, irqs_disabled(): 128, pid: 1, name: systemd
3 locks held by systemd/1:
#0: (rtnl_mutex){+.+.+.} , at: rtnl_lock+0x20/0x28
#1: (rcu_read_lock_bh){......}, at: ipv6_add_addr+0x70/0x548 [ipv6]
#2: (addrconf_hash_lock){+.....}, at: ipv6_add_addr+0x194/0x548 [ipv6]
irq event stamp: 619543
hardirqs last enabled at (619541): __local_bh_enable_ip+0x88/0x138
hardirqs last disabled at (619543): __slab_alloc.isra.22.constprop.26+0x30/0x90
softirqs last enabled at (619540): ipv6_mc_up+0x4c/0x58 [ipv6]
softirqs last disabled at (619542): ipv6_add_addr+0x70/0x548 [ipv6]
CPU: 3 PID: 1 Comm: systemd Tainted: G W 4.9.0-rc7-next-20161130-00010-ga0f9af725c5d #218
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Platform, BIOS EDK II Nov 29 2016
Call trace:
dump_backtrace+0x0/0x260
show_stack+0x24/0x30
dump_stack+0xac/0xe8
___might_sleep+0x14c/0x1f8
__alloc_pages_nodemask+0x414/0xef0
new_slab+0xa4/0x558
___slab_alloc.constprop.27+0x2f8/0x378
__slab_alloc.isra.22.constprop.26+0x4c/0x90
kmem_cache_alloc+0x388/0x430
dst_alloc+0x5c/0xb0
__ip6_dst_alloc+0x3c/0xa0 [ipv6]
ip6_dst_alloc+0x38/0x108 [ipv6]
addrconf_dst_alloc+0x4c/0x130 [ipv6]
ipv6_add_addr+0x274/0x548 [ipv6]
add_addr+0x4c/0xd8 [ipv6]
addrconf_notify+0x5c4/0xa98 [ipv6]
register_netdevice_notifier+0x1e0/0x1e8
addrconf_init+0xb8/0x270 [ipv6]
inet6_init+0x180/0x330 [ipv6]
do_one_initcall+0x44/0x138
do_init_module+0x64/0x1d0
load_module+0x1230/0x1560
SyS_finit_module+0x120/0x130
el0_svc_naked+0x24/0x28
next prev parent reply other threads:[~2016-11-30 12:28 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-27 18:16 [mm] e7c1db75fe: BUG:sleeping_function_called_from_invalid_context_at_mm/page_alloc.c kernel test robot
2016-11-27 18:16 ` [lkp] " kernel test robot
2016-11-29 17:21 ` Sudeep Holla
2016-11-29 17:21 ` [lkp] " Sudeep Holla
2016-11-29 19:14 ` Paul E. McKenney
2016-11-29 19:14 ` [lkp] " Paul E. McKenney
2016-11-29 18:26 ` Ye Xiaolong
2016-11-29 18:26 ` [lkp] " Ye Xiaolong
2016-11-29 21:39 ` Ye Xiaolong
2016-11-29 21:39 ` [lkp] " Ye Xiaolong
2016-11-30 6:27 ` Fengguang Wu
2016-11-30 6:27 ` [LKP] [lkp] " Fengguang Wu
2016-11-30 7:16 ` Michal Hocko
2016-11-30 7:16 ` [lkp] " Michal Hocko
2016-11-30 7:40 ` Paul E. McKenney
2016-11-30 7:40 ` [lkp] " Paul E. McKenney
2016-11-30 12:28 ` Sudeep Holla [this message]
2016-11-30 12:28 ` Sudeep Holla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161130122801.GA455@e107155-lin \
--to=sudeep.holla@arm.com \
--cc=lkp@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.