[Intel-wired-lan] [next PATCH v3 6/9] igb: Add support for padding packet
Brown, Aaron F
aaron.f.brown at intel.com
Fri Feb 3 04:01:52 UTC 2017
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Alexander Duyck
> Sent: Monday, January 23, 2017 8:59 AM
> To: intel-wired-lan at lists.osuosl.org; Kirsher, Jeffrey T
> <jeffrey.t.kirsher at intel.com>
> Subject: [Intel-wired-lan] [next PATCH v3 6/9] igb: Add support for padding
> packet
>
> From: Alexander Duyck <alexander.h.duyck at intel.com>
>
> With the size of the frame limited we can now write to an offset within the
> buffer instead of having to write at the very start of the buffer. The
> advantage to this is that it allows us to leave padding room for things
> like supporting XDP in the future.
>
> One side effect of this patch is that we can end up using a larger buffer
> if jumbo frames is enabled. The impact shouldn't be too great, but it
> could hurt small packet performance for UDP workloads if jumbo frames is
> enabled as the truesize of frames will be larger.
>
> Signed-off-by: Alexander Duyck <alexander.h.duyck at intel.com>
> ---
>
> v3: Fixed "unsigned char *" / "void *" mismatch on pointer arithmetic
>
> drivers/net/ethernet/intel/igb/igb.h | 44 ++++++++++++-
> drivers/net/ethernet/intel/igb/igb_ethtool.c | 4 +
> drivers/net/ethernet/intel/igb/igb_main.c | 91 +++++++++++++++++++--
> -----
> drivers/net/ethernet/intel/igb/igb_ptp.c | 3 -
> 4 files changed, 110 insertions(+), 32 deletions(-)
I am having one (and only one) system dump on me when running netperf_stress (multiple netperf sessions of varying sizes running in looped cycles.) The system itself is an older SuperMicro system with a pair of 82575EB LOMs. It's a rather dated system but I managed to locate another box of more or less the same era with 82575EB LOMs and am NOT seeing the dump there. I stripped off the other patches from this series and the problem does not appear with the first 5, but with this one on I get the system to crash. Usually it freezes or restarts, sometimes it just locks up the consoles. When it repeats or restarts it captures the trace to /var/log/messages so I was able to grab this trace from there:
------------------------------------------------------------------------------------------------
Feb 2 15:08:00 u1485 xinetd[1866]: START: netperf pid=5528 from=::ffff:190.1.4.85
Feb 2 15:08:02 u1485 kernel: swap_free: Bad swap offset entry 1c995c1d195b8
Feb 2 15:08:02 u1485 kernel: BUG: Bad page map in process sleep pte:72657074656e0066 pmd:7be3b067
Feb 2 15:08:02 u1485 kernel: addr:00007fdfedc00000 vm_flags:00000070 anon_vma: (null) mapping:ffff880079436cc0 index:1ba
Feb 2 15:08:02 u1485 kernel: file:libc-2.12.so fault:ext4_filemap_fault [ext4] mmap:ext4_file_mmap [ext4] readpage:ext4_readpage [ext4]
Feb 2 15:08:02 u1485 kernel: CPU: 5 PID: 5526 Comm: sleep Tainted: G E 4.10.0-rc4_next-queue_regress #18
Feb 2 15:08:02 u1485 kernel: Hardware name: Supermicro X7DW3/X7DWN+, BIOS 1.2c 11/19/2010
Feb 2 15:08:02 u1485 kernel: Call Trace:
Feb 2 15:08:02 u1485 kernel: dump_stack+0x51/0x78
Feb 2 15:08:02 u1485 kernel: ? ext4_bh_unmapped+0x20/0x20 [ext4]
Feb 2 15:08:02 u1485 kernel: ? ext4_file_open+0x220/0x220 [ext4]
Feb 2 15:08:02 u1485 kernel: print_bad_pte+0x1cd/0x280
Feb 2 15:08:02 u1485 kernel: zap_pte_range+0x5ab/0x640
Feb 2 15:08:02 u1485 kernel: ? pte_alloc_one_map+0x1c3/0x250
Feb 2 15:08:02 u1485 kernel: unmap_page_range+0x1f8/0x300
Feb 2 15:08:02 u1485 kernel: unmap_single_vma+0x60/0xe0
Feb 2 15:08:02 u1485 kernel: unmap_vmas+0x4b/0xa0
Feb 2 15:08:02 u1485 kernel: exit_mmap+0xbb/0x140
Feb 2 15:08:02 u1485 kernel: mmput+0x77/0x170
Feb 2 15:08:02 u1485 kernel: ? mm_release+0x57/0x140
Feb 2 15:08:02 u1485 kernel: ? down_read+0x16/0x40
Feb 2 15:08:02 u1485 kernel: exit_mm+0x140/0x1d0
Feb 2 15:08:02 u1485 kernel: ? down_read+0x16/0x40
Feb 2 15:08:02 u1485 kernel: ? exit_signals+0x150/0x170
Feb 2 15:08:02 u1485 kernel: do_exit+0x12e/0x490
Feb 2 15:08:02 u1485 kernel: ? handle_mm_fault+0x87/0x190
Feb 2 15:08:02 u1485 kernel: ? filp_close+0x65/0x90
Feb 2 15:08:02 u1485 kernel: do_group_exit+0x4e/0xc0
Feb 2 15:08:02 u1485 kernel: SyS_exit_group+0x17/0x20
Feb 2 15:08:02 u1485 kernel: entry_SYSCALL_64_fastpath+0x13/0x94
Feb 2 15:08:02 u1485 kernel: RIP: 0033:0x7fdfedaf2df8
Feb 2 15:08:02 u1485 kernel: RSP: 002b:00007ffe94402408 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
Feb 2 15:08:02 u1485 kernel: RAX: ffffffffffffffda RBX: 00000000fbad2084 RCX: 00007fdfedaf2df8
Feb 2 15:08:02 u1485 kernel: RDX: 0000000000000000 RSI: 000000000000003c RDI: 0000000000000000
Feb 2 15:08:02 u1485 kernel: RBP: 00007fdfeddd47a0 R08: 00000000000000e7 R09: ffffffffffffffa8
Feb 2 15:08:02 u1485 kernel: R10: 0000000000000004 R11: 0000000000000246 R12: 0000000000000000
Feb 2 15:08:02 u1485 kernel: R13: 00007ffe94402468 R14: 0000000000000001 R15: 00007ffe94402460
Feb 2 15:08:02 u1485 kernel: Disabling lock debugging due to kernel taint
Feb 2 15:08:02 u1485 kernel: swap_free: Bad swap offset entry 1c995c1d195b8
Feb 2 15:08:02 u1485 kernel: BUG: Bad page map in process sleep pte:72657074656e0066 pmd:7be3b067
Feb 2 15:08:02 u1485 kernel: addr:00007fdfedc01000 vm_flags:00000070 anon_vma: (null) mapping:ffff880079436cc0 index:1bb
Feb 2 15:08:02 u1485 kernel: file:libc-2.12.so fault:ext4_filemap_fault [ext4] mmap:ext4_file_mmap [ext4] readpage:ext4_readpage [ext4]
Feb 2 15:08:02 u1485 kernel: CPU: 5 PID: 5526 Comm: sleep Tainted: G B E 4.10.0-rc4_next-queue_regress #18
Feb 2 15:08:02 u1485 kernel: Hardware name: Supermicro X7DW3/X7DWN+, BIOS 1.2c 11/19/2010
Feb 2 15:08:02 u1485 kernel: Call Trace:
Feb 2 15:08:02 u1485 kernel: dump_stack+0x51/0x78
Feb 2 15:08:02 u1485 kernel: ? ext4_bh_unmapped+0x20/0x20 [ext4]
Feb 2 15:08:02 u1485 kernel: ? ext4_file_open+0x220/0x220 [ext4]
Feb 2 15:08:02 u1485 kernel: print_bad_pte+0x1cd/0x280
Feb 2 15:08:02 u1485 kernel: zap_pte_range+0x5ab/0x640
Feb 2 15:08:02 u1485 kernel: ? pte_alloc_one_map+0x1c3/0x250
Feb 2 15:08:02 u1485 kernel: unmap_page_range+0x1f8/0x300
Feb 2 15:08:02 u1485 kernel: unmap_single_vma+0x60/0xe0
Feb 2 15:08:02 u1485 kernel: unmap_vmas+0x4b/0xa0
Feb 2 15:08:02 u1485 kernel: exit_mmap+0xbb/0x140
Feb 2 15:08:02 u1485 kernel: mmput+0x77/0x170
Feb 2 15:08:02 u1485 kernel: ? mm_release+0x57/0x140
Feb 2 15:08:02 u1485 kernel: ? down_read+0x16/0x40
Feb 2 15:08:02 u1485 kernel: exit_mm+0x140/0x1d0
Feb 2 15:08:02 u1485 kernel: ? down_read+0x16/0x40
Feb 2 15:08:02 u1485 kernel: ? exit_signals+0x150/0x170
Feb 2 15:08:02 u1485 kernel: do_exit+0x12e/0x490
Feb 2 15:08:02 u1485 kernel: ? handle_mm_fault+0x87/0x190
Feb 2 15:08:02 u1485 kernel: ? filp_close+0x65/0x90
Feb 2 15:08:02 u1485 kernel: do_group_exit+0x4e/0xc0
Feb 2 15:08:02 u1485 kernel: SyS_exit_group+0x17/0x20
Feb 2 15:08:02 u1485 kernel: entry_SYSCALL_64_fastpath+0x13/0x94
Feb 2 15:08:02 u1485 kernel: RIP: 0033:0x7fdfedaf2df8
Feb 2 15:08:02 u1485 kernel: RSP: 002b:00007ffe94402408 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
Feb 2 15:08:02 u1485 kernel: RAX: ffffffffffffffda RBX: 00000000fbad2084 RCX: 00007fdfedaf2df8
Feb 2 15:08:02 u1485 kernel: RDX: 0000000000000000 RSI: 000000000000003c RDI: 0000000000000000
Feb 2 15:08:02 u1485 kernel: RBP: 00007fdfeddd47a0 R08: 00000000000000e7 R09: ffffffffffffffa8
Feb 2 15:08:02 u1485 kernel: R10: 0000000000000004 R11: 0000000000000246 R12: 0000000000000000
Feb 2 15:08:02 u1485 kernel: R13: 00007ffe94402468 R14: 0000000000000001 R15: 00007ffe94402460
Feb 2 15:08:02 u1485 kernel: swap_free: Bad swap offset entry 1c995c1d195b8
Feb 2 15:08:02 u1485 kernel: BUG: Bad page map in process sleep pte:72657074656e0066 pmd:7be3b067
Feb 2 15:08:02 u1485 kernel: addr:00007fdfedc02000 vm_flags:00000070 anon_vma: (null) mapping:ffff880079436cc0 index:1bc
Feb 2 15:08:02 u1485 kernel: file:libc-2.12.so fault:ext4_filemap_fault [ext4] mmap:ext4_file_mmap [ext4] readpage:ext4_readpage [ext4]
Feb 2 15:08:02 u1485 kernel: CPU: 5 PID: 5526 Comm: sleep Tainted: G B E 4.10.0-rc4_next-queue_regress #18
Feb 2 15:08:02 u1485 kernel: Hardware name: Supermicro X7DW3/X7DWN+, BIOS 1.2c 11/19/2010
...
------------------------------------------------------------------------------------------------
This call trace pattern repeated 7 ot 8 times and then the system either rebooted on its own or simply locked up.
I am not entirely convinced it is not my hardware as I cannot reproduce the issue on any other system. This one is very low on disk space and I have been meaning to rebuild it on a larger partition, preferably newer and larger drive for some time. Given it calls out a bad swap offset at the beginning of the bug / call trace text I suppose I could be running into issues with an overly full disk (though that seems a bit unlikely being different partitions and all.) I will go ahead and rebuild this system granting new, larger freshly formatted partitions and see if the problem goes away.
More information about the Intel-wired-lan
mailing list