[Bug 193053] ixgbe(4) IXGBE_LEGACY_TX + ALTQ path broken
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Sep 18 22:53:41 UTC 2014
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193053
--- Comment #5 from ncrogers at gmail.com ---
(In reply to Eric Joyner from comment #4)
> Why do you believe the third change is necessary? Is there a reason the
> extra code in the que_task tasklet must run in the legacy tx case?
Because of this part of the compile error when I tried to build a new kernel.
/usr/src/sys/dev/ixgbe/ixgbe.c: In function 'ixgbe_local_timer':
/usr/src/sys/dev/ixgbe/ixgbe.c:2077: error: 'struct tx_ring' has no member
named 'txq_task'
Everything else relying on txr->txq_task is either confined to within a
multiqueue (non-legacy) function or there is an #ifndef IXGBE_LEGACY_TX around
it.
Furthermore, if you look at an older version of the ixgbe_local_timer function,
it has taskqueue_enqueue(que->tq, &que->que_task)
instead of
taskqueue_enqueue(que->tq, &txr->txq_task);
Here is the change where that happened.
http://svnweb.freebsd.org/base/head/sys/dev/ixgbe/ixgbe.c?annotate=271648
Line 2066
http://svnweb.freebsd.org/base?view=revision&revision=251964
Note that was the only line in ixgbe_local_timer that was changed. I believe
this change was made without consideration of the LEGACY_TX path, which is
strange, because the commit was evidently intended to add ALTQ support via the
LEGACY_TX path.
Also, the igb/e1000 driver (if_igb.c) has a similar behavior in the same
function, where taskqueue_enqueue(que->tq, &que->que_task) is used.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-net
mailing list