Message ID | 20150904205904.GA32346@electric-eye.fr.zoreil.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
From: Francois Romieu <romieu@fr.zoreil.com> Date: Fri, 4 Sep 2015 22:59:04 +0200 > net/core/net-sysfs.c::netstat_show fetches statistics under dev_base_lock. > > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=104031 > Fixes: 6e85d5ad36a2 ("r8169: Add values missing in @get_stats64 from HW counters") > Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> > Cc: Corinna Vinschen <vinschen@redhat.com> Is there any reason we cannot allocate this DMA buffer at probe or open time? There cannot be any arguments concerning parallel access as far as I can see, there is a single set of registers to program this address into therefore we cannot allow more than one entity to get into the counter fetch sequence at the same time anyways. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
David Miller <davem@davemloft.net> : [...] > Is there any reason we cannot allocate this DMA buffer at probe or > open time? None. As a fix for 6e85d5ad36a2 or as net-next material ?
From: Francois Romieu <romieu@fr.zoreil.com> Date: Sat, 5 Sep 2015 01:11:05 +0200 > David Miller <davem@davemloft.net> : > [...] >> Is there any reason we cannot allocate this DMA buffer at probe or >> open time? > > None. > > As a fix for 6e85d5ad36a2 or as net-next material ? I think we should just do it right to fix this bug, it's new to this merge window anyways. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sep 4 22:59, Francois Romieu wrote: > net/core/net-sysfs.c::netstat_show fetches statistics under dev_base_lock. > > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=104031 > Fixes: 6e85d5ad36a2 ("r8169: Add values missing in @get_stats64 from HW counters") > Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> > Cc: Corinna Vinschen <vinschen@redhat.com> > --- > > Applies against davem's net as of f1ccbfce2fc787981d1182d09c1f6b67766783a8. > > drivers/net/ethernet/realtek/r8169.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c > index 24dcbe6..56829ea 100644 > --- a/drivers/net/ethernet/realtek/r8169.c > +++ b/drivers/net/ethernet/realtek/r8169.c > @@ -2200,7 +2200,7 @@ static struct rtl8169_counters *rtl8169_map_counters(struct net_device *dev, > struct rtl8169_counters *counters; > u32 cmd; > > - counters = dma_alloc_coherent(d, sizeof(*counters), paddr, GFP_KERNEL); > + counters = dma_alloc_coherent(d, sizeof(*counters), paddr, GFP_ATOMIC); > if (counters) { > RTL_W32(CounterAddrHigh, (u64)*paddr >> 32); > cmd = (u64)*paddr & DMA_BIT_MASK(32); > -- > 2.4.3 I'll have a look tomorrow what I'm back to work, but for the time being, two questions. - The code worked for me in local testing without problem, so I'm rather puzzled. How can I reproduce the problem? - I'm pretty new to this stuff, so I don't understand this: The dma_alloc_coherent(...,GFP_KERNEL) call is not new in the code, it's there since at least 2010. It appears to work fine in the context of @get_ethtool_stats. Why does this not work in the context of @ndo_get_stats64? Thanks, Corinna
Corinna Vinschen <vinschen@redhat.com> : [...] > - I'm pretty new to this stuff, so I don't understand this: > > The dma_alloc_coherent(...,GFP_KERNEL) call is not new in the code, > it's there since at least 2010. It appears to work fine in the > context of @get_ethtool_stats. Why does this not work in the context > of @ndo_get_stats64? get_ethtool_stats is only called under RTNL, not with spinlock held. ndo_get_stats64 is called under dev_base_lock from sysfs.
On 06.09.2015 12:19, Corinna Vinschen wrote: > On Sep 4 22:59, Francois Romieu wrote: >> net/core/net-sysfs.c::netstat_show fetches statistics under dev_base_lock. >> >> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=104031 >> Fixes: 6e85d5ad36a2 ("r8169: Add values missing in @get_stats64 from HW counters") >> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> >> Cc: Corinna Vinschen <vinschen@redhat.com> >> --- >> >> Applies against davem's net as of f1ccbfce2fc787981d1182d09c1f6b67766783a8. >> >> drivers/net/ethernet/realtek/r8169.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c >> index 24dcbe6..56829ea 100644 >> --- a/drivers/net/ethernet/realtek/r8169.c >> +++ b/drivers/net/ethernet/realtek/r8169.c >> @@ -2200,7 +2200,7 @@ static struct rtl8169_counters *rtl8169_map_counters(struct net_device *dev, >> struct rtl8169_counters *counters; >> u32 cmd; >> >> - counters = dma_alloc_coherent(d, sizeof(*counters), paddr, GFP_KERNEL); >> + counters = dma_alloc_coherent(d, sizeof(*counters), paddr, GFP_ATOMIC); >> if (counters) { >> RTL_W32(CounterAddrHigh, (u64)*paddr >> 32); >> cmd = (u64)*paddr & DMA_BIT_MASK(32); >> -- >> 2.4.3 > > I'll have a look tomorrow what I'm back to work, but for the time > being, two questions. > > - The code worked for me in local testing without problem, so I'm rather > puzzled. How can I reproduce the problem? > > - I'm pretty new to this stuff, so I don't understand this: > > The dma_alloc_coherent(...,GFP_KERNEL) call is not new in the code, > it's there since at least 2010. It appears to work fine in the > context of @get_ethtool_stats. Why does this not work in the context > of @ndo_get_stats64? > > > Thanks, > Corinna > 1. Reverted to r8169.c?id=eb78139 - the noise is still present 2. Patches applied - Francois Romieu (3): r8169: decouple the counters data and the device private area. r8169: move rtl_reset_counters_cond before the hardware counters helpers. r8169: increase the lifespan of the hardware counters dump area. - the noise is still present $ modinfo -n r8169 /lib/modules/4.3.0-0.rc0.git7.1.fc24.x86_64/updates/r8169.ko This noise is induced via userspace, xfce4-netload-plugin, http://goodies.xfce.org/projects/panel-plugins/xfce4-netload-plugin $ grep -i device .config/xfce4/panel/netload-16.rc Network_Device=enp3s0 $ ethtool -i enp3s0 | grep driver driver: r8169 $ dmesg | grep panel-16-netloa | wc -l 237 $ dmesg ... [ 68.597764] bridge0: port 1(enp3s0) entered forwarding state [ 70.016291] =============================== [ 70.016296] [ INFO: suspicious RCU usage. ] [ 70.016303] 4.3.0-0.rc0.git7.1.fc24.x86_64 #1 Not tainted [ 70.016308] ------------------------------- [ 70.016314] include/linux/rcupdate.h:579 Illegal context switch in RCU read-side critical section! [ 70.016319] other info that might help us debug this: [ 70.016327] rcu_scheduler_active = 1, debug_locks = 0 [ 70.016334] 2 locks held by panel-16-netloa/1806: [ 70.016338] #0: (&p->lock){+.+.+.}, at: [<ffffffff8128e21c>] seq_read+0x4c/0x3e0 [ 70.016362] #1: (rcu_read_lock){......}, at: [<ffffffff817261c5>] dev_seq_start+0x5/0x140 [ 70.016380] stack backtrace: [ 70.016390] CPU: 3 PID: 1806 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git7.1.fc24.x86_64 #1 ... [ 70.016435] Call Trace: [ 70.016445] [<ffffffff81847841>] dump_stack+0x4b/0x63 [ 70.016456] [<ffffffff811008c7>] lockdep_rcu_suspicious+0xd7/0x110 [ 70.016465] [<ffffffff810d5297>] ___might_sleep+0xa7/0x230 [ 70.016472] [<ffffffff810d5469>] __might_sleep+0x49/0x80 [ 70.016481] [<ffffffff811e54ce>] __alloc_pages_nodemask+0x2fe/0xb90 [ 70.016490] [<ffffffff8112197d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 [ 70.016499] [<ffffffff81024ab9>] ? sched_clock+0x9/0x10 [ 70.016507] [<ffffffff810e24ac>] ? local_clock+0x1c/0x20 [ 70.016514] [<ffffffff8112197d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 [ 70.016524] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 70.016534] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 70.016541] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 70.016555] [<ffffffffa003525e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 70.016567] [<ffffffffa0036674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 70.016578] [<ffffffffa00368ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 70.016587] [<ffffffff816fcd34>] dev_get_stats+0x54/0x100 [ 70.016595] [<ffffffff81725b67>] dev_seq_printf_stats+0x37/0x120 [ 70.016605] [<ffffffff81725c64>] dev_seq_show+0x14/0x30 [ 70.016611] [<ffffffff8128e4ca>] seq_read+0x2fa/0x3e0 [ 70.016621] [<ffffffff812dbec2>] proc_reg_read+0x42/0x70 [ 70.016628] [<ffffffff81264cc7>] __vfs_read+0x37/0x100 [ 70.016637] [<ffffffff81385113>] ? security_file_permission+0xa3/0xc0 [ 70.016644] [<ffffffff81265646>] vfs_read+0x86/0x130 [ 70.016652] [<ffffffff812663c8>] SyS_read+0x58/0xd0 [ 70.016660] [<ffffffff818514f2>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 70.016698] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 70.016704] in_atomic(): 1, irqs_disabled(): 0, pid: 1806, name: panel-16-netloa [ 70.016708] INFO: lockdep is turned off. [ 70.016715] CPU: 3 PID: 1806 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git7.1.fc24.x86_64 #1 ... [ 70.016760] Call Trace: [ 70.016768] [<ffffffff81847841>] dump_stack+0x4b/0x63 [ 70.016776] [<ffffffff810d5369>] ___might_sleep+0x179/0x230 [ 70.016784] [<ffffffff810d5469>] __might_sleep+0x49/0x80 [ 70.016792] [<ffffffff811e54ce>] __alloc_pages_nodemask+0x2fe/0xb90 [ 70.016800] [<ffffffff8112197d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 [ 70.016809] [<ffffffff81024ab9>] ? sched_clock+0x9/0x10 [ 70.016817] [<ffffffff810e24ac>] ? local_clock+0x1c/0x20 [ 70.016826] [<ffffffff8112197d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 [ 70.016836] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 70.016847] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 70.016856] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 70.016868] [<ffffffffa003525e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 70.016881] [<ffffffffa0036674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 70.016893] [<ffffffffa00368ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 70.016904] [<ffffffff816fcd34>] dev_get_stats+0x54/0x100 [ 70.016912] [<ffffffff81725b67>] dev_seq_printf_stats+0x37/0x120 [ 70.016923] [<ffffffff81725c64>] dev_seq_show+0x14/0x30 [ 70.016930] [<ffffffff8128e4ca>] seq_read+0x2fa/0x3e0 [ 70.016939] [<ffffffff812dbec2>] proc_reg_read+0x42/0x70 [ 70.016948] [<ffffffff81264cc7>] __vfs_read+0x37/0x100 [ 70.016957] [<ffffffff81385113>] ? security_file_permission+0xa3/0xc0 [ 70.016965] [<ffffffff81265646>] vfs_read+0x86/0x130 [ 70.016972] [<ffffffff812663c8>] SyS_read+0x58/0xd0 [ 70.016980] [<ffffffff818514f2>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 71.022092] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 71.022104] in_atomic(): 1, irqs_disabled(): 0, pid: 1806, name: panel-16-netloa [ 71.022109] INFO: lockdep is turned off. [ 71.022118] CPU: 0 PID: 1806 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git7.1.fc24.x86_64 #1 ... -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sep 7 09:13, poma wrote: > On 06.09.2015 12:19, Corinna Vinschen wrote: > > On Sep 4 22:59, Francois Romieu wrote: > >> Applies against davem's net as of f1ccbfce2fc787981d1182d09c1f6b67766783a8. > >> > >> drivers/net/ethernet/realtek/r8169.c | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c > >> index 24dcbe6..56829ea 100644 > >> --- a/drivers/net/ethernet/realtek/r8169.c > >> +++ b/drivers/net/ethernet/realtek/r8169.c > >> @@ -2200,7 +2200,7 @@ static struct rtl8169_counters *rtl8169_map_counters(struct net_device *dev, > >> struct rtl8169_counters *counters; > >> u32 cmd; > >> > >> - counters = dma_alloc_coherent(d, sizeof(*counters), paddr, GFP_KERNEL); > >> + counters = dma_alloc_coherent(d, sizeof(*counters), paddr, GFP_ATOMIC); > >> if (counters) { > >> RTL_W32(CounterAddrHigh, (u64)*paddr >> 32); > >> cmd = (u64)*paddr & DMA_BIT_MASK(32); > >> -- > >> 2.4.3 > > [...] > 1. Reverted to r8169.c?id=eb78139 > - the noise is still present > 2. Patches applied - Francois Romieu (3): > r8169: decouple the counters data and the device private area. > r8169: move rtl_reset_counters_cond before the hardware counters helpers. > r8169: increase the lifespan of the hardware counters dump area. > - the noise is still present Sure you tested the right code? I'm just asking because... > [ 70.016445] [<ffffffff81847841>] dump_stack+0x4b/0x63 > [ 70.016456] [<ffffffff811008c7>] lockdep_rcu_suspicious+0xd7/0x110 > [ 70.016465] [<ffffffff810d5297>] ___might_sleep+0xa7/0x230 > [ 70.016472] [<ffffffff810d5469>] __might_sleep+0x49/0x80 > [ 70.016481] [<ffffffff811e54ce>] __alloc_pages_nodemask+0x2fe/0xb90 > [ 70.016490] [<ffffffff8112197d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 > [ 70.016499] [<ffffffff81024ab9>] ? sched_clock+0x9/0x10 > [ 70.016507] [<ffffffff810e24ac>] ? local_clock+0x1c/0x20 > [ 70.016514] [<ffffffff8112197d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 > [ 70.016524] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 > [ 70.016534] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 > [ 70.016541] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 > [ 70.016555] [<ffffffffa003525e>] rtl8169_map_counters+0x3e/0x70 [r8169] ...rtl8169_map_counters only exists before Francois patch. The patch removes this function. Corinna
On 07.09.2015 10:50, Corinna Vinschen wrote: > On Sep 7 09:13, poma wrote: >> On 06.09.2015 12:19, Corinna Vinschen wrote: >>> On Sep 4 22:59, Francois Romieu wrote: >>>> Applies against davem's net as of f1ccbfce2fc787981d1182d09c1f6b67766783a8. >>>> >>>> drivers/net/ethernet/realtek/r8169.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c >>>> index 24dcbe6..56829ea 100644 >>>> --- a/drivers/net/ethernet/realtek/r8169.c >>>> +++ b/drivers/net/ethernet/realtek/r8169.c >>>> @@ -2200,7 +2200,7 @@ static struct rtl8169_counters *rtl8169_map_counters(struct net_device *dev, >>>> struct rtl8169_counters *counters; >>>> u32 cmd; >>>> >>>> - counters = dma_alloc_coherent(d, sizeof(*counters), paddr, GFP_KERNEL); >>>> + counters = dma_alloc_coherent(d, sizeof(*counters), paddr, GFP_ATOMIC); >>>> if (counters) { >>>> RTL_W32(CounterAddrHigh, (u64)*paddr >> 32); >>>> cmd = (u64)*paddr & DMA_BIT_MASK(32); >>>> -- >>>> 2.4.3 >>> [...] >> 1. Reverted to r8169.c?id=eb78139 >> - the noise is still present >> 2. Patches applied - Francois Romieu (3): >> r8169: decouple the counters data and the device private area. >> r8169: move rtl_reset_counters_cond before the hardware counters helpers. >> r8169: increase the lifespan of the hardware counters dump area. >> - the noise is still present > > Sure you tested the right code? I'm just asking because... > >> [ 70.016445] [<ffffffff81847841>] dump_stack+0x4b/0x63 >> [ 70.016456] [<ffffffff811008c7>] lockdep_rcu_suspicious+0xd7/0x110 >> [ 70.016465] [<ffffffff810d5297>] ___might_sleep+0xa7/0x230 >> [ 70.016472] [<ffffffff810d5469>] __might_sleep+0x49/0x80 >> [ 70.016481] [<ffffffff811e54ce>] __alloc_pages_nodemask+0x2fe/0xb90 >> [ 70.016490] [<ffffffff8112197d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 >> [ 70.016499] [<ffffffff81024ab9>] ? sched_clock+0x9/0x10 >> [ 70.016507] [<ffffffff810e24ac>] ? local_clock+0x1c/0x20 >> [ 70.016514] [<ffffffff8112197d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 >> [ 70.016524] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 >> [ 70.016534] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 >> [ 70.016541] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 >> [ 70.016555] [<ffffffffa003525e>] rtl8169_map_counters+0x3e/0x70 [r8169] > > ...rtl8169_map_counters only exists before Francois patch. The patch > removes this function. > > > Corinna > I do not know, is this OK? $ rpm -i https://kojipkgs.fedoraproject.org/packages/kernel/4.3.0/0.rc0.git7.1.fc24/src/kernel-4.3.0-0.rc0.git7.1.fc24.src.rpm $ rpmbuild -bp rpmbuild/SPECS/kernel.spec $ cd rpmbuild/BUILD/kernel-4.2.fc24/linux-4.3.0-0.rc0.git7.1.fc24.x86_64/ $ curl -s "http://marc.info/?l=linux-netdev&m=144145559429943&q=raw" | patch -p1 patching file drivers/net/ethernet/realtek/r8169.c patch unexpectedly ends in middle of line $ curl -s "http://marc.info/?l=linux-netdev&m=144145559729944&q=raw" | patch -p1 patching file drivers/net/ethernet/realtek/r8169.c patch unexpectedly ends in middle of line $ curl -s "http://marc.info/?l=linux-netdev&m=144145558929942&q=raw" | patch -p1 patching file drivers/net/ethernet/realtek/r8169.c patch unexpectedly ends in middle of line $ sed -i 's/PATCHLEVEL = 2/PATCHLEVEL = 3/' Makefile $ sed -i 's/EXTRAVERSION =/EXTRAVERSION = -0.rc0.git7.1.fc24.x86_64/' Makefile $ make -j drivers/net/ethernet/realtek/r8169.ko $ su # cp drivers/net/ethernet/realtek/r8169.ko /usr/lib/modules/4.3.0-0.rc0.git7.1.fc24.x86_64/updates/ # depmod # dracut -f --kver 4.3.0-0.rc0.git7.1.fc24.x86_64 # lsinitrd --kver 4.3.0-0.rc0.git7.1.fc24.x86_64 | grep r8169 ... usr/lib/modules/4.3.0-0.rc0.git7.1.fc24.x86_64/updates/r8169.ko # systemctl reboot -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
2nd batch: 0001-r8169-decouple-the-counters-data-and-the-device-priv.patch 0002-r8169-use-a-single-condition-to-check-the-completion.patch 0003-r8169-increase-the-lifespan-of-the-hardware-counters.patch - the noise is still present -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH net] r8169: Fix sleeping function called during get_stats64 http://marc.info/?l=linux-netdev&m=144180123410135&q=raw - the noise is still present -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sep 9 17:24, poma wrote: > [PATCH net] r8169: Fix sleeping function called during get_stats64 > http://marc.info/?l=linux-netdev&m=144180123410135&q=raw > - the noise is still present Are you really sure? The entire dma_alloc/dma_free stuff has been moved away. There's no locking or sleeping involved different from what was there before my original patch when calling .ndo_get_stats64. How would I be able to reproduce this on the command line? Corinna
On Sep 9 17:54, Corinna Vinschen wrote: > On Sep 9 17:24, poma wrote: > > [PATCH net] r8169: Fix sleeping function called during get_stats64 > > http://marc.info/?l=linux-netdev&m=144180123410135&q=raw > > - the noise is still present > > Are you really sure? The entire dma_alloc/dma_free stuff has been moved > away. There's no locking or sleeping involved different from what was > there before my original patch when calling .ndo_get_stats64. > > How would I be able to reproduce this on the command line? It would also be interesting to see the "noise" as it looks after applying the above patch... Corinna
On 09/09/2015 05:55 PM, Corinna Vinschen wrote: > On Sep 9 17:54, Corinna Vinschen wrote: >> On Sep 9 17:24, poma wrote: >>> [PATCH net] r8169: Fix sleeping function called during get_stats64 >>> http://marc.info/?l=linux-netdev&m=144180123410135&q=raw >>> - the noise is still present >> >> Are you really sure? The entire dma_alloc/dma_free stuff has been moved >> away. There's no locking or sleeping involved different from what was >> there before my original patch when calling .ndo_get_stats64. >> It is literally the kernel ring buffer output, so I really can not understand your question. >> How would I be able to reproduce this on the command line? > This I have already written, here's once more for you, <quote> This noise is induced via userspace, xfce4-netload-plugin, http://goodies.xfce.org/projects/panel-plugins/xfce4-netload-plugin $ grep -i device .config/xfce4/panel/netload-16.rc Network_Device=enp3s0 $ ethtool -i enp3s0 | grep driver driver: r8169 </quote> Therefore, to try to reproduce this issue, 'xfce4-netload-plugin' must run within 'xfce4-panel', moreover 'xfce4-netload-plugin' must be configured to monitor affected network interface. No command line this time, hombre. If you are eager to test it, https://kojipkgs.fedoraproject.org/work/tasks/170/11000170/Fedora-Live-Xfce-x86_64-rawhide-20150908.iso > It would also be interesting to see the "noise" as it looks after > applying the above patch... > > > Corinna > The "noise" after applying "r8169: Fix sleeping function called during get_stats64": [ 215.048821] =============================== [ 215.048826] [ INFO: suspicious RCU usage. ] [ 215.048834] 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 Not tainted [ 215.048838] ------------------------------- [ 215.048844] include/linux/rcupdate.h:579 Illegal context switch in RCU read-side critical section! [ 215.048849] other info that might help us debug this: [ 215.048858] rcu_scheduler_active = 1, debug_locks = 0 [ 215.048865] 3 locks held by panel-16-netloa/2546: [ 215.048869] #0: (&f->f_pos_lock){+.+.+.}, at: [<ffffffff81288f19>] __fdget_pos+0x49/0x50 [ 215.048893] #1: (&p->lock){+.+.+.}, at: [<ffffffff8128f9ac>] seq_read+0x4c/0x3e0 [ 215.048986] #2: (rcu_read_lock){......}, at: [<ffffffff8172a005>] dev_seq_start+0x5/0x140 [ 215.049008] stack backtrace: [ 215.049020] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 215.049067] Call Trace: [ 215.049078] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 215.049090] [<ffffffff81100d77>] lockdep_rcu_suspicious+0xd7/0x110 [ 215.049099] [<ffffffff810d5377>] ___might_sleep+0xa7/0x230 [ 215.049107] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 215.049121] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 215.049130] [<ffffffff81121b0d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 [ 215.049141] [<ffffffff81024b29>] ? sched_clock+0x9/0x10 [ 215.049149] [<ffffffff810e258c>] ? local_clock+0x1c/0x20 [ 215.049157] [<ffffffff81121b0d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 [ 215.049168] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 215.049178] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 215.049193] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 215.049208] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 215.049221] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 215.049233] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 215.049243] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 215.049251] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 215.049262] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 215.049270] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 215.049281] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 215.049289] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 215.049299] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 215.049311] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 215.049318] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 215.049327] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 215.049337] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 215.049343] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 215.049348] INFO: lockdep is turned off. [ 215.049355] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 215.049403] Call Trace: [ 215.049412] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 215.049421] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 215.049429] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 215.049437] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 215.049448] [<ffffffff81121b0d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 [ 215.049456] [<ffffffff81024b29>] ? sched_clock+0x9/0x10 [ 215.049464] [<ffffffff810e258c>] ? local_clock+0x1c/0x20 [ 215.049472] [<ffffffff81121b0d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 [ 215.049483] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 215.049492] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 215.049502] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 215.049522] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 215.049534] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 215.049546] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 215.049555] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 215.049564] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 215.049576] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 215.049583] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 215.049593] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 215.049605] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 215.049614] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 215.049622] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 215.049630] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 215.049639] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 216.057245] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 216.057259] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 216.057265] INFO: lockdep is turned off. [ 216.057275] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 216.057320] Call Trace: [ 216.057336] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 216.057347] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 216.057355] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 216.057364] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 216.057374] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 216.057384] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 216.057395] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 216.057404] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 216.057412] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 216.057426] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 216.057438] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 216.057450] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 216.057460] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 216.057468] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 216.057478] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 216.057486] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 216.057496] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 216.057503] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 216.057512] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 216.057519] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 216.057526] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 216.057534] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 217.061487] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 217.061499] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 217.061505] INFO: lockdep is turned off. [ 217.061514] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 217.061558] Call Trace: [ 217.061573] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 217.061584] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 217.061592] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 217.061601] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 217.061611] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 217.061620] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 217.061631] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 217.061640] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 217.061648] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 217.061662] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 217.061674] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 217.061686] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 217.061696] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 217.061704] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 217.061714] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 217.061722] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 217.061731] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 217.061739] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 217.061748] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 217.061755] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 217.061762] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 217.061770] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 218.065067] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 218.065080] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 218.065085] INFO: lockdep is turned off. [ 218.065094] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 218.065229] Call Trace: [ 218.065246] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 218.065258] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 218.065269] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 218.065279] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 218.065290] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 218.065301] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 218.065313] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 218.065327] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 218.065335] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 218.065351] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 218.065365] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 218.065378] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 218.065388] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 218.065399] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 218.065410] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 218.065418] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 218.065431] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 218.065439] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 218.065449] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 218.065457] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 218.065466] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 218.065475] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 218.839694] CE: hpet increased min_delta_ns to 11521 nsec [ 219.068448] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 219.068461] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 219.068466] INFO: lockdep is turned off. [ 219.068476] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 219.068519] Call Trace: [ 219.068535] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 219.068547] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 219.068555] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 219.068564] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 219.068574] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 219.068583] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 219.068594] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 219.068603] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 219.068611] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 219.068626] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 219.068638] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 219.068650] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 219.068660] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 219.068668] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 219.068678] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 219.068686] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 219.068696] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 219.068703] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 219.068712] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 219.068719] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 219.068726] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 219.068735] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 220.072620] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 220.072632] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 220.072638] INFO: lockdep is turned off. [ 220.072647] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 220.072691] Call Trace: [ 220.072707] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 220.072719] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 220.072727] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 220.072735] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 220.072745] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 220.072755] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 220.072765] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 220.072775] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 220.072782] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 220.072797] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 220.072809] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 220.072821] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 220.072831] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 220.072839] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 220.072849] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 220.072857] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 220.072867] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 220.072874] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 220.072883] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 220.072890] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 220.072897] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 220.072906] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 221.076200] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 221.076213] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 221.076218] INFO: lockdep is turned off. [ 221.076226] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 221.076269] Call Trace: [ 221.076284] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 221.076373] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 221.076382] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 221.076391] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 221.076402] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 221.076412] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 221.076424] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 221.076435] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 221.076447] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 221.076462] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 221.076475] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 221.076488] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 221.076498] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 221.076507] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 221.076519] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 221.076528] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 221.076539] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 221.076546] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 221.076556] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 221.076564] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 221.076573] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 221.076590] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 222.079576] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 222.079588] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 222.079593] INFO: lockdep is turned off. [ 222.079602] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 222.079645] Call Trace: [ 222.079660] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 222.079670] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 222.079678] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 222.079687] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 222.079697] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 222.079706] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 222.079717] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 222.079726] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 222.079734] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 222.079748] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 222.079760] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 222.079772] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 222.079782] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 222.079790] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 222.079800] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 222.079808] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 222.079817] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 222.079824] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 222.079833] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 222.079841] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 222.079848] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 222.079856] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 223.083699] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 223.083712] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 223.083717] INFO: lockdep is turned off. [ 223.083726] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 223.083769] Call Trace: [ 223.083785] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 223.083795] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 223.083803] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 223.083812] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 223.083822] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 223.083831] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 223.083842] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 223.083851] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 223.083859] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 223.083873] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 223.083885] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 223.083897] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 223.083907] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 223.083915] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 223.083925] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 223.083933] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 223.083942] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 223.083950] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 223.083959] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 223.083966] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 223.083973] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 223.083981] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 224.087894] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 224.087906] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 224.087911] INFO: lockdep is turned off. [ 224.087920] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 224.087963] Call Trace: [ 224.087978] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 224.087988] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 224.087997] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 224.088005] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 224.088015] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 224.088024] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 224.088035] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 224.088044] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 224.088052] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 224.088066] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 224.088078] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 224.088089] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 224.088099] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 224.088107] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 224.088117] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 224.088125] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 224.088135] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 224.088142] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 224.088151] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 224.088158] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 224.088165] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 224.088174] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 225.091421] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 225.091433] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 225.091439] INFO: lockdep is turned off. [ 225.091448] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 225.091491] Call Trace: [ 225.091506] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 225.091517] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 225.091525] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 225.091616] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 225.091627] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 225.091644] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 225.091656] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 225.091666] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 225.091674] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 225.091689] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 225.091705] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 225.091717] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 225.091727] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 225.091737] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 225.091748] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 225.091757] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 225.091770] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 225.091778] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 225.091788] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 225.091796] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 225.091803] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 225.091813] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 226.094851] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 226.094864] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 226.094869] INFO: lockdep is turned off. [ 226.094878] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 226.094923] Call Trace: [ 226.094939] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 226.094950] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 226.094959] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 226.094967] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 226.094977] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 226.094987] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 226.094998] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 226.095007] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 226.095014] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 226.095029] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 226.095041] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 226.095053] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 226.095063] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 226.095071] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 226.095081] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 226.095089] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 226.095099] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 226.095106] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 226.095116] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 226.095123] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 226.095130] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 226.095138] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 227.099112] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 227.099124] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 227.099130] INFO: lockdep is turned off. [ 227.099140] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 227.099183] Call Trace: [ 227.099199] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 227.099210] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 227.099218] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 227.099227] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 227.099237] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 227.099247] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 227.099257] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 227.099267] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 227.099274] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 227.099288] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 227.099301] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 227.099312] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 227.099322] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 227.099331] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 227.099341] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 227.099348] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 227.099358] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 227.099365] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 227.099374] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 227.099382] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 227.099389] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 227.099397] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 228.102657] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 228.102670] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 228.102676] INFO: lockdep is turned off. [ 228.102686] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 228.102803] Call Trace: [ 228.102819] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 228.102831] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 228.102840] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 228.102850] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 228.102860] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 228.102871] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 228.102887] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 228.102898] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 228.102906] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 228.102921] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 228.102935] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 228.102948] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 228.102962] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 228.102971] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 228.102983] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 228.102992] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 228.103004] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 228.103017] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 228.103031] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 228.103038] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 228.103046] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 228.103055] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 229.105851] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 229.105863] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 229.105869] INFO: lockdep is turned off. [ 229.105878] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 229.105923] Call Trace: [ 229.105939] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 229.105950] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 229.105959] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 229.105968] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 229.105978] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 229.105988] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 229.105999] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 229.106008] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 229.106016] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 229.106030] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 229.106043] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 229.106055] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 229.106064] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 229.106073] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 229.106083] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 229.106091] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 229.106101] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 229.106108] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 229.106117] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 229.106125] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 229.106132] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 229.106140] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 230.110086] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 230.110099] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 230.110104] INFO: lockdep is turned off. [ 230.110114] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 230.110158] Call Trace: [ 230.110174] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 230.110185] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 230.110194] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 230.110203] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 230.110213] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 230.110222] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 230.110233] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 230.110242] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 230.110250] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 230.110265] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 230.110277] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 230.110289] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 230.110299] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 230.110307] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 230.110317] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 230.110325] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 230.110335] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 230.110342] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 230.110351] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 230.110358] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 230.110365] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 230.110374] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 231.114332] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 231.114345] in_atomic(): 1, irqs_disabled(): 0, pid: 2546, name: panel-16-netloa [ 231.114350] INFO: lockdep is turned off. [ 231.114360] CPU: 3 PID: 2546 Comm: panel-16-netloa Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 231.114404] Call Trace: [ 231.114420] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 231.114431] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 231.114440] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 231.114448] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 231.114458] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 231.114468] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 231.114478] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 231.114488] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 231.114495] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 231.114510] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 231.114522] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 231.114534] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 231.114543] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 231.114552] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 231.114562] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 231.114570] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 231.114579] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 231.114587] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 231.114596] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 231.114604] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 231.114611] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 231.114619] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 ... etc. etc. etc. This looks the same as at the beginning, as if you were dealing with an entirely different problem, hombre. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: poma <pomidorabelisima@gmail.com> Date: Wed, 9 Sep 2015 20:34:36 +0200 > [ 230.110233] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 > [ 230.110242] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 > [ 230.110250] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 > [ 230.110265] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] > [ 230.110277] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] > [ 230.110289] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] > [ 230.110299] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 The patch in question removes this call to dma_alloc_coherent() so you aren't running a kernel which actually has the patch applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sep 9 20:34, poma wrote: > On 09/09/2015 05:55 PM, Corinna Vinschen wrote: > > On Sep 9 17:54, Corinna Vinschen wrote: > >> On Sep 9 17:24, poma wrote: > >>> [PATCH net] r8169: Fix sleeping function called during get_stats64 > >>> http://marc.info/?l=linux-netdev&m=144180123410135&q=raw > >>> - the noise is still present > >> > >> Are you really sure? The entire dma_alloc/dma_free stuff has been moved > >> away. There's no locking or sleeping involved different from what was > >> there before my original patch when calling .ndo_get_stats64. > >> > > > It is literally the kernel ring buffer output, > so I really can not understand your question. I'm asking because I'm wondering if you're actually testing the right r8169.ko module, the one with the patch applied. See below. > >> How would I be able to reproduce this on the command line? > > This I have already written, here's once more for you, > <quote> > This noise is induced via userspace, xfce4-netload-plugin, > http://goodies.xfce.org/projects/panel-plugins/xfce4-netload-plugin > > $ grep -i device .config/xfce4/panel/netload-16.rc > Network_Device=enp3s0 > > $ ethtool -i enp3s0 | grep driver > driver: r8169 > </quote> > > Therefore, to try to reproduce this issue, 'xfce4-netload-plugin' must run within 'xfce4-panel', > moreover 'xfce4-netload-plugin' must be configured to monitor affected network interface. I'lll see if I can try this tomorrow. > No command line this time, hombre. If it has to be spanish, I'd prefer mujer, but whatever. > > It would also be interesting to see the "noise" as it looks after > > applying the above patch... > > The "noise" after applying "r8169: Fix sleeping function called during get_stats64": > [...] > [ 215.049067] Call Trace: > [ 215.049078] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 > [ 215.049090] [<ffffffff81100d77>] lockdep_rcu_suspicious+0xd7/0x110 > [ 215.049099] [<ffffffff810d5377>] ___might_sleep+0xa7/0x230 > [ 215.049107] [<ffffffff810d5549>] __might_sleep+0x49/0x80 > [ 215.049121] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 > [ 215.049130] [<ffffffff81121b0d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 > [ 215.049141] [<ffffffff81024b29>] ? sched_clock+0x9/0x10 > [ 215.049149] [<ffffffff810e258c>] ? local_clock+0x1c/0x20 > [ 215.049157] [<ffffffff81121b0d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 > [ 215.049168] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 > [ 215.049178] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 > [ 215.049193] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 > [ 215.049208] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] This is very certainly not the r8169.ko driver with my patch applied. There is no rtl8169_map_counters function anymore, just as with Francois' patch. I'm not sure what you're doing wrong there, but this stack dump definitely cannot be produced with either Francois or my patch, so you're apparently testing the unpatched upstream driver all the time. > ... > etc. > etc. > etc. > > This looks the same as at the beginning, as if you were dealing with > an entirely different problem, hombre. No, sorry, it's you running the wrong kernel module, and a single occurence of the stack dump would have been sufficient, but thanks all the same. Corinna
On 09/09/2015 09:08 PM, Corinna Vinschen wrote: > On Sep 9 20:34, poma wrote: >> On 09/09/2015 05:55 PM, Corinna Vinschen wrote: >>> On Sep 9 17:54, Corinna Vinschen wrote: >>>> On Sep 9 17:24, poma wrote: >>>>> [PATCH net] r8169: Fix sleeping function called during get_stats64 >>>>> http://marc.info/?l=linux-netdev&m=144180123410135&q=raw >>>>> - the noise is still present >>>> >>>> Are you really sure? The entire dma_alloc/dma_free stuff has been moved >>>> away. There's no locking or sleeping involved different from what was >>>> there before my original patch when calling .ndo_get_stats64. >>>> >> >> >> It is literally the kernel ring buffer output, >> so I really can not understand your question. > > I'm asking because I'm wondering if you're actually testing the > right r8169.ko module, the one with the patch applied. See below. > I already explained the patching/building procedure http://www.spinics.net/lists/netdev/msg342268.html >>>> How would I be able to reproduce this on the command line? >> >> This I have already written, here's once more for you, >> <quote> >> This noise is induced via userspace, xfce4-netload-plugin, >> http://goodies.xfce.org/projects/panel-plugins/xfce4-netload-plugin >> >> $ grep -i device .config/xfce4/panel/netload-16.rc >> Network_Device=enp3s0 >> >> $ ethtool -i enp3s0 | grep driver >> driver: r8169 >> </quote> >> >> Therefore, to try to reproduce this issue, 'xfce4-netload-plugin' must run within 'xfce4-panel', >> moreover 'xfce4-netload-plugin' must be configured to monitor affected network interface. > > I'lll see if I can try this tomorrow. > >> No command line this time, hombre. > This is how I managed to reproduce the noise within the CLI - via 'ifconfig', no need to pre-configure interface: # ifconfig enp3s0 up # dmesg [ 390.128904] r8169 0000:03:00.0 enp3s0: link down [ 390.129669] IPv6: ADDRCONF(NETDEV_UP): enp3s0: link is not ready # ifconfig # dmesg [ 393.855932] =============================== [ 393.855937] [ INFO: suspicious RCU usage. ] [ 393.855945] 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 Not tainted [ 393.855949] ------------------------------- [ 393.855956] include/linux/rcupdate.h:579 Illegal context switch in RCU read-side critical section! [ 393.855960] other info that might help us debug this: [ 393.855970] rcu_scheduler_active = 1, debug_locks = 0 [ 393.855977] 2 locks held by ifconfig/2642: [ 393.855981] #0: (&p->lock){+.+.+.}, at: [<ffffffff8128f9ac>] seq_read+0x4c/0x3e0 [ 393.856004] #1: (rcu_read_lock){......}, at: [<ffffffff8172a005>] dev_seq_start+0x5/0x140 [ 393.856022] stack backtrace: [ 393.856032] CPU: 1 PID: 2642 Comm: ifconfig Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 393.856072] Call Trace: [ 393.856084] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 393.856095] [<ffffffff81100d77>] lockdep_rcu_suspicious+0xd7/0x110 [ 393.856104] [<ffffffff810d5377>] ___might_sleep+0xa7/0x230 [ 393.856111] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 393.856120] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 393.856129] [<ffffffff81121b0d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 [ 393.856139] [<ffffffff81024b29>] ? sched_clock+0x9/0x10 [ 393.856146] [<ffffffff810e258c>] ? local_clock+0x1c/0x20 [ 393.856154] [<ffffffff81121b0d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 [ 393.856164] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 393.856173] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 393.856240] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 393.856256] [<ffffffffa003525e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 393.856278] [<ffffffffa0036674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 393.856291] [<ffffffffa00368ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 393.856307] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 393.856316] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 393.856327] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 393.856334] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 393.856345] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 393.856358] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 393.856368] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 393.856376] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 393.856384] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 393.856393] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 393.856402] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 393.856408] in_atomic(): 1, irqs_disabled(): 0, pid: 2642, name: ifconfig [ 393.856412] INFO: lockdep is turned off. [ 393.856420] CPU: 1 PID: 2642 Comm: ifconfig Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 393.856467] Call Trace: [ 393.856476] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 393.856484] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 393.856493] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 393.856501] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 393.856513] [<ffffffff81121b0d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 [ 393.856522] [<ffffffff81024b29>] ? sched_clock+0x9/0x10 [ 393.856529] [<ffffffff810e258c>] ? local_clock+0x1c/0x20 [ 393.856537] [<ffffffff81121b0d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 [ 393.856547] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 393.856556] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 393.856564] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 393.856577] [<ffffffffa003525e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 393.856594] [<ffffffffa0036674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 393.856606] [<ffffffffa00368ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 393.856615] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 393.856623] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 393.856635] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 393.856643] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 393.856657] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 393.856665] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 393.856673] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 393.856681] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 393.856688] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 393.856697] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 426.311398] BUG: sleeping function called from invalid context at mm/page_alloc.c:3186 [ 426.311412] in_atomic(): 1, irqs_disabled(): 0, pid: 2651, name: ifconfig [ 426.311417] INFO: lockdep is turned off. [ 426.311426] CPU: 3 PID: 2651 Comm: ifconfig Not tainted 4.3.0-0.rc0.git9.1.fc24.x86_64 #1 ... [ 426.311470] Call Trace: [ 426.311486] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 [ 426.311497] [<ffffffff810d5449>] ___might_sleep+0x179/0x230 [ 426.311505] [<ffffffff810d5549>] __might_sleep+0x49/0x80 [ 426.311514] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 [ 426.311524] [<ffffffff8142cf36>] ? debug_object_activate+0xb6/0x1e0 [ 426.311534] [<ffffffff8142d5c1>] ? debug_object_active_state+0x91/0x150 [ 426.311545] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 [ 426.311555] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 [ 426.311562] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 [ 426.311577] [<ffffffffa003525e>] rtl8169_map_counters+0x3e/0x70 [r8169] [ 426.311589] [<ffffffffa0036674>] rtl8169_update_counters+0x64/0x140 [r8169] [ 426.311601] [<ffffffffa00368ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] [ 426.311612] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 [ 426.311620] [<ffffffff817299a7>] dev_seq_printf_stats+0x37/0x120 [ 426.311630] [<ffffffff81729aa4>] dev_seq_show+0x14/0x30 [ 426.311638] [<ffffffff8128fc5a>] seq_read+0x2fa/0x3e0 [ 426.311648] [<ffffffff812df0c2>] proc_reg_read+0x42/0x70 [ 426.311655] [<ffffffff812663c7>] __vfs_read+0x37/0x100 [ 426.311664] [<ffffffff81388743>] ? security_file_permission+0xa3/0xc0 [ 426.311672] [<ffffffff81266d46>] vfs_read+0x86/0x130 [ 426.311679] [<ffffffff81267ac8>] SyS_read+0x58/0xd0 [ 426.311687] [<ffffffff81855372>] entry_SYSCALL_64_fastpath+0x12/0x76 > If it has to be spanish, I'd prefer mujer, but whatever. > But whatever. >>> It would also be interesting to see the "noise" as it looks after >>> applying the above patch... >> >> The "noise" after applying "r8169: Fix sleeping function called during get_stats64": >> [...] >> [ 215.049067] Call Trace: >> [ 215.049078] [<ffffffff8184b6c1>] dump_stack+0x4b/0x63 >> [ 215.049090] [<ffffffff81100d77>] lockdep_rcu_suspicious+0xd7/0x110 >> [ 215.049099] [<ffffffff810d5377>] ___might_sleep+0xa7/0x230 >> [ 215.049107] [<ffffffff810d5549>] __might_sleep+0x49/0x80 >> [ 215.049121] [<ffffffff811e575e>] __alloc_pages_nodemask+0x2fe/0xb90 >> [ 215.049130] [<ffffffff81121b0d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 >> [ 215.049141] [<ffffffff81024b29>] ? sched_clock+0x9/0x10 >> [ 215.049149] [<ffffffff810e258c>] ? local_clock+0x1c/0x20 >> [ 215.049157] [<ffffffff81121b0d>] ? debug_lockdep_rcu_enabled+0x1d/0x20 >> [ 215.049168] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 >> [ 215.049178] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 >> [ 215.049193] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 >> [ 215.049208] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] > > This is very certainly not the r8169.ko driver with my patch applied. > There is no rtl8169_map_counters function anymore, just as with > Francois' patch. I'm not sure what you're doing wrong there, but this > stack dump definitely cannot be produced with either Francois or my > patch, so you're apparently testing the unpatched upstream driver all > the time. > $ modinfo -n r8169 /lib/modules/4.3.0-0.rc0.git9.1.fc24.x86_64/updates/r8169.ko This one -patched- is used, right? $ objdump -DS $(modinfo -n r8169) | grep rtl8169_map_counters ; echo $? 1 The one in "/lib/modules/$(uname -r)/updates/ has priority, right? # unxz /lib/modules/4.3.0-0.rc0.git9.1.fc24.x86_64/kernel/drivers/net/ethernet/realtek/r8169.ko.xz $ objdump -DS /lib/modules/4.3.0-0.rc0.git9.1.fc24.x86_64/kernel/drivers/net/ethernet/realtek/r8169.ko | grep rtl8169_map_counters 0000000000002220 <rtl8169_map_counters>: 2220: e8 00 00 00 00 callq 2225 <rtl8169_map_counters+0x5> 2259: e8 00 00 00 00 callq 225e <rtl8169_map_counters+0x3e> 2261: 74 19 je 227c <rtl8169_map_counters+0x5c> 366f: e8 ac eb ff ff callq 2220 <rtl8169_map_counters> b44f: e8 cc 6d ff ff callq 2220 <rtl8169_map_counters> And this is the original, which is not used, right? >> ... >> etc. >> etc. >> etc. >> >> This looks the same as at the beginning, as if you were dealing with >> an entirely different problem, hombre. > > No, sorry, it's you running the wrong kernel module, and a single > occurence of the stack dump would have been sufficient, but thanks > all the same. > > > Corinna > If you say so, hombre. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2] r8169: Fix sleeping function called during get_stats64 http://www.spinics.net/lists/netdev/msg342490.html - the noise is still present Corinna, care to share kernel-core & kernel-modules you are testing with, to unravel the Gordian Knot? -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 09.09.2015 21:04, David Miller wrote: > From: poma <pomidorabelisima@gmail.com> > Date: Wed, 9 Sep 2015 20:34:36 +0200 > >> [ 230.110233] [<ffffffff810218e6>] dma_generic_alloc_coherent+0x96/0x130 >> [ 230.110242] [<ffffffff81069865>] x86_swiotlb_alloc_coherent+0x25/0x50 >> [ 230.110250] [<ffffffff810215fd>] dma_alloc_attrs+0x6d/0xe0 >> [ 230.110265] [<ffffffffa002e25e>] rtl8169_map_counters+0x3e/0x70 [r8169] >> [ 230.110277] [<ffffffffa002f674>] rtl8169_update_counters+0x64/0x140 [r8169] >> [ 230.110289] [<ffffffffa002f8ff>] rtl8169_get_stats64+0xbf/0x130 [r8169] >> [ 230.110299] [<ffffffff81700b74>] dev_get_stats+0x54/0x100 > > The patch in question removes this call to dma_alloc_coherent() so you > aren't running a kernel which actually has the patch applied. > Here is the obvious example - in use is what is patched: $ grep MODULE_DESCRIPTION rpmbuild/BUILD/kernel-4.2.fc24/linux-4.3.0-0.rc0.git9.1.fc24.x86_64/drivers/net/ethernet/realtek/r8169.c MODULE_DESCRIPTION("RealTek RTL-8169 Gigabit Ethernet driver patched with [PATCH v2] r8169: Fix sleeping function called during get_stats64"); $ modinfo -n r8169; modinfo -d r8169 /lib/modules/4.3.0-0.rc0.git9.1.fc24.x86_64/updates/r8169.ko RealTek RTL-8169 Gigabit Ethernet driver patched with [PATCH v2] r8169: Fix sleeping function called during get_stats64 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sep 10 01:51, poma wrote: > [PATCH v2] r8169: Fix sleeping function called during get_stats64 > http://www.spinics.net/lists/netdev/msg342490.html > - the noise is still present > > Corinna, care to share kernel-core & kernel-modules you are testing with, > to unravel the Gordian Knot? Somehow your initrd seem to refuse to pick up the new kernel module. Here's basically what I do: - Test system is RHEL7 - git clone git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git - edit drivers/net/ethernet/realtek/r8169.c - make config; make -j42 - make install_modules && make install - init 6 Alternatively, if you already did the above once: - git am <from http://www.spinics.net/lists/netdev/msg342490.html> - make modules - cp drivers/net/ethernet/realtek/r8169.ko \ /lib/modules/4.2.0+/kernel/drivers/net/ethernet/realtek/r8169.c - dracut -f --kver '4.2.0+' - init 6 Corinna
On 10.09.2015 10:47, Corinna Vinschen wrote: > On Sep 10 01:51, poma wrote: >> [PATCH v2] r8169: Fix sleeping function called during get_stats64 >> http://www.spinics.net/lists/netdev/msg342490.html >> - the noise is still present >> >> Corinna, care to share kernel-core & kernel-modules you are testing with, >> to unravel the Gordian Knot? > > Somehow your initrd seem to refuse to pick up the new kernel module. > > Here's basically what I do: > > - Test system is RHEL7 > > - git clone git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git > > - edit drivers/net/ethernet/realtek/r8169.c > > - make config; make -j42 > > - make install_modules && make install > > - init 6 > > Alternatively, if you already did the above once: > > - git am <from http://www.spinics.net/lists/netdev/msg342490.html> > > - make modules > > - cp drivers/net/ethernet/realtek/r8169.ko \ > /lib/modules/4.2.0+/kernel/drivers/net/ethernet/realtek/r8169.c > > - dracut -f --kver '4.2.0+' > > - init 6 > > > Corinna > [PATCH v3] r8169: Fix sleeping function called during get_stats64, v2 http://marc.info/?l=linux-netdev&m=144187488130444&q=raw # dracut --omit-drivers r8169 -f --kver 4.3.0-0.rc0.git11.1.fc24.x86_64 - the noise is gone Tested-by: poma <pomidorabelisima@gmail.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sep 10 14:36, poma wrote: > On 10.09.2015 10:47, Corinna Vinschen wrote: > > On Sep 10 01:51, poma wrote: > >> [PATCH v2] r8169: Fix sleeping function called during get_stats64 > >> http://www.spinics.net/lists/netdev/msg342490.html > >> - the noise is still present > >> > >> Corinna, care to share kernel-core & kernel-modules you are testing with, > >> to unravel the Gordian Knot? > > > > Somehow your initrd seem to refuse to pick up the new kernel module. > > [...etc...] > > [PATCH v3] r8169: Fix sleeping function called during get_stats64, v2 > http://marc.info/?l=linux-netdev&m=144187488130444&q=raw > > # dracut --omit-drivers r8169 -f --kver 4.3.0-0.rc0.git11.1.fc24.x86_64 > > - the noise is gone > > Tested-by: poma <pomidorabelisima@gmail.com> Thanks for testing! Corinna
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index 24dcbe6..56829ea 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -2200,7 +2200,7 @@ static struct rtl8169_counters *rtl8169_map_counters(struct net_device *dev, struct rtl8169_counters *counters; u32 cmd; - counters = dma_alloc_coherent(d, sizeof(*counters), paddr, GFP_KERNEL); + counters = dma_alloc_coherent(d, sizeof(*counters), paddr, GFP_ATOMIC); if (counters) { RTL_W32(CounterAddrHigh, (u64)*paddr >> 32); cmd = (u64)*paddr & DMA_BIT_MASK(32);
net/core/net-sysfs.c::netstat_show fetches statistics under dev_base_lock. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=104031 Fixes: 6e85d5ad36a2 ("r8169: Add values missing in @get_stats64 from HW counters") Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Corinna Vinschen <vinschen@redhat.com> --- Applies against davem's net as of f1ccbfce2fc787981d1182d09c1f6b67766783a8. drivers/net/ethernet/realtek/r8169.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)