Intel documentation indicates that backplane X550EM_X KR devices do not
support Energy Efficient Ethernet.
Signed-off-by: Zach Vargas <zvargas@xes-inc.com>
Differential D21673
ixgbe: Disable EEE for backplane X550EM_X zvargas_xes-inc.com on Sep 16 2019, 1:18 PM. Authored by Tags Referenced Files
Details
Intel documentation indicates that backplane X550EM_X KR devices do not Signed-off-by: Zach Vargas <zvargas@xes-inc.com> Prior to this patch X552 devices (device ID 0x15AB) will crash the system when transitioning EEE state via sysctl. 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=0 Fatal trap 12: page fault while in kernel mode cpuid = 5; apic id = 05 fault virtual address = 0x0 fault code = supervisor read instruction, page not present instruction pointer = 0x20:0x0 stack pointer = 0x28:0xfffffe008a86d718 frame pointer = 0x28:0xfffffe008a86d760 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 2424 (sysctl) trap number = 12 panic: page fault cpuid = 5 time = 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 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 #
Diff Detail
Event Timeline
Comment Actions Thank you for the feedback. After applying (only) the suggested change, testing a EEE state change with my hardware looks like the following: root@freebsd:/usr/src # sysctl dev.ix.1.eee_state dev.ix.1.eee_state: 1 root@freebsd:/usr/src # sysctl dev.ix.1.eee_state=0 dev.ix.1.eee_staix1: Error in EEE setup: 0x7FFFFFFF te: 1 sysctl: dev.ix.1.eee_state=0: Invalid argument root@freebsd:/usr/src # With the full patch, testing remains unchanged because EEE will be disabled for my X550EM_X KR device. |