[Bug 193053] ixgbe(4) IXGBE_LEGACY_TX + ALTQ path broken
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Sep 18 04:11:45 UTC 2014
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193053
--- Comment #3 from ncrogers at gmail.com ---
>From what I can tell, the changes in the newer ixgbe driver here:
https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=14688
Fix two of three problems with the IXGBE_LEGACY_TX path that I changed in the
attached diff. My guess is because they were fixed because its pretty obvious
when auditing the code.
#1
#ifdef IXGBE_LEGACY_TX
- if (!IFQ_DRV_IS_EMPTY(ifp->if_snd))
+ if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
This is fixed in the newer Intel driver. Not in FBSD.
#2
-#ifdef IXGBE_LEGACY_TX
- if (txr->br != NULL)
- buf_ring_free(txr->br, M_DEVBUF);
-#endif
This also seems to be fixed in the Intel driver, not FBSD, which as far as I
can tell affects the non-legacy path behavior (i.e., most everyone). In my diff
I opted to remove it, but in the newer Intel driver apparently its implied that
its necessary for the non-legacy path, as the #ifdef is changed to #ifndef.
#3
else if (txr->queue_status == IXGBE_QUEUE_WORKING)
+#ifndef IXGBE_LEGACY_TX
taskqueue_enqueue(que->tq, &txr->txq_task);
+#else
+ taskqueue_enqueue(que->tq, &que->que_task);
+#endif
I still believe this change is necessary, and its not in the newer Intel driver
from what I can tell, and its not so obvious unless you actually try to use the
legacy path. Again, I'm not an expert, so I hope someone can validate all of
this.
10/stable (and HEAD, I think) still have all three problems. It would indeed be
nice for this to be fixed in 10.1-RELEASE.
Thanks!
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-net
mailing list