Date: Sat, 25 Feb 2017 20:22:35 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-net@FreeBSD.org Subject: [Bug 213257] Crash in IGB driver with ALTQ Message-ID: <bug-213257-2472-BfFWNRNX7K@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-213257-2472@https.bugs.freebsd.org/bugzilla/> References: <bug-213257-2472@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D213257 --- Comment #26 from commit-hook@freebsd.org --- A commit references this bug: Author: loos Date: Sat Feb 25 20:21:39 UTC 2017 New revision: 314281 URL: https://svnweb.freebsd.org/changeset/base/314281 Log: Disable the driver managed queue for igb(4) when the legacy transmit interface is used. The legacy API (IGB_LEGACY_TX) is enabled when ALTQ is built into kernel. As noted in altq(9), it is responsibility of the caller to protect this queue against concurrent access and, in the igb case, the interface send queue is protected by tx queue mutex. This obviously cannot protect the driver managed queue against concurrent access from different tx queues and leads to numerous and quite strange panic traces (usually shown as packets disappearing into thin air). Improving the locking to cope with this means serialize all access to this (single) queue and produces no gain, it actually affects the performance quite noticeabily. The driver managed queue is already disabled when an ALTQ queue discipline is set on interface (in altq_enable()), because the driver managed queue can interfere with ALTQ timing (whence the reports that setting an ALTQ queue discipline on interface also fixes the issue). Disabling this additional queue keeps the ability to use if_start() to send packets to individual NIC queues while it simply eliminate the race. This is a direct commit to stable/11 as -head driver does not support ALTQ anymore. PR: 213257 PR: 212413 Discussed with: sbruno Tested by: Konstantin Kormashev <konstantin@netgate.com> Obtained from: pfSense Sponsored by: Rubicon Communications, LLC (Netgate) Changes: stable/11/sys/dev/e1000/if_igb.c --=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-213257-2472-BfFWNRNX7K>