Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 03 Sep 2019 20:54:01 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 240320] [ixgbe] [patch] EEE state change causes core dump on X552
Message-ID:  <bug-240320-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D240320

            Bug ID: 240320
           Summary: [ixgbe] [patch] EEE state change causes core dump on
                    X552
           Product: Base System
           Version: 12.0-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: zvargas@xes-inc.com

Created attachment 207168
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D207168&action=
=3Dedit
Patch to disable EEE support on X552 devices in the ix driver.

Overview:

My system has a Xeon-D 1500 series SoC with two 10GbE Intel X552 backplane
connections (device ID: 0x15AB). In FreeBSD 12.0 RELEASE, attempting to use=
 the
sysctl utility to transition Energy Efficient Ethernet (EEE) states causes a
core dump (see below for details). I believe that this is the result of the
fact that X552 devices do not support EEE. This assertion is based on the
following documentation from Intel:

The note below table 1.2 (Network Features) in Section 1.6 of volume 4 of t=
he
datasheet for Xeon-D 1500
(https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xe=
on-d-1500-datasheet-vol-4.pdf)
states:

 EEE is ONLY supported for 10GBASE-T interfaces via the X557-AT2 PHY. The
Intel=C2=AE Xeon=C2=AE Processor D-1500 Product Family LANcontroller does n=
ot support EEE
feature.

Furthermore, in the README for the Linux ixgbe driver (version 5.6.1), EEE =
is
listed as an unsupported feature:

 NOTE: Devices based on the Intel(R) Ethernet Connection X552 and Intel(R)
 Ethernet Connection X553 do not support the following features:
 * Energy Efficient Ethernet (EEE)
 * Intel PROSet for Windows Device Manager
 * Intel ANS teams or VLANs (LBFO is supported)
 * Fibre Channel over Ethernet (FCoE)
 * Data Center Bridging (DCB)
 * IPSec Offloading
 * MACSec Offloading

The FreeBSD ix driver (version 3.3.10) release README also has a list of
unsupported features for X552. However, these lists do not match. The FreeB=
SD
version lists 'Low Latency Interrupts (LLI)' as the only unsupported featur=
e.

I have attached a patch (0001-X552-does-not-support-eee.patch) to disable E=
EE
support on X552 devices in the ix driver. This patch was created against
r350420 of FreeBSD which was the latest in CURRENT at the time of my
investigation.

Steps to Reproduce:

Attempt to change EEE state via the ix driver eee_state attribute via the
sysctl utility.

Actual results:

Running 12.0 RELEASE FreeBSD from https://svn.freebsd.org/base/releng/12.0,
attempting to change the EEE state of an ix adapter:

 root@bsd:~ # uname -r
 12.0-RELEASE
 root@bsd:~ # sysctl dev.ix.1.eee_state
 dev.ix.1.eee_state: 1
 root@bsd:~ # sysctl dev.ix.1.eee_state=3D0


 Fatal trap 12: page fault while in kernel mode
 cpuid =3D 5; apic id =3D 05
 fault virtual address  =3D 0x0
 fault code             =3D supervisor read instruction, page not present
 instruction pointer    =3D 0x20:0x0
 stack pointer          =3D 0x28:0xfffffe008a86d718
 frame pointer          =3D 0x28:0xfffffe008a86d760
 code segment           =3D base 0x0, limit 0xfffff, type 0x1b
                        =3D DPL 0, pres 1, long 1, def32 0, gran 1
 processor eflags       =3D interrupt enabled, resume, IOPL =3D 0
 current process                =3D 2424 (sysctl)
 trap number            =3D 12
 panic: page fault
 cpuid =3D 5
 time =3D 1563820937
 KDB: stack backtrace:
 #0 0xffffffff80bdcbc7 at kdb_backtrace+0x67
 #1 0xffffffff80b907b3 at vpanic+0x1a3
 #2 0xffffffff80b90603 at panic+0x43
 #3 0xffffffff8106996f at trap_fatal+0x35f
 #4 0xffffffff810699c9 at trap_pfault+0x49
 #5 0xffffffff81068fee at trap+0x29e
 #6 0xffffffff81044425 at calltrap+0x8
 #7 0xffffffff80b9f56b at sysctl_root_handler_locked+0x8b
 #8 0xffffffff80b9ec27 at sysctl_root+0x257
 #9 0xffffffff80b9f29a at userland_sysctl+0x17a
 #10 0xffffffff80b9f0df at sys___sysctl+0x5f
 #11 0xffffffff8106a449 at amd64_syscall+0x369
 #12 0xffffffff81044d0d at fast_syscall_common+0x101
 Uptime: 36m40s
 Dumping 736 out of 16329 MB:..3%..11%..22%..31%..42%..53%..61%..72%..81%..=
92%
 Dump complete

I see the same behaviour in CURRENT and core dump on boot in previous versi=
ons
(11.3).

Expected Results: Transition EEE state or error out without coredump.

Testing with this patch applied:
 root@bsd:~/freebsd-ixgbe # sysctl dev.ix.1.eee_state
 sysctl: unknown oid 'dev.ix.1.eee_state'
 root@bsd:~/freebsd-ixgbe #

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-240320-227>