mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-19 10:53:58 +00:00
Alter the mq_start routine to do a TRYLOCK and call to the locked routine
rather than just queueing. The former code was an attempt at getting UDP performance up, but there have been customer reports of problems with it, so the ixgbe approach seems the best solution for now.
This commit is contained in:
parent
c68534f1d5
commit
83cef45266
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=254264
@ -972,7 +972,13 @@ igb_mq_start(struct ifnet *ifp, struct mbuf *m)
|
||||
que = &adapter->queues[i];
|
||||
|
||||
err = drbr_enqueue(ifp, txr->br, m);
|
||||
taskqueue_enqueue(que->tq, &txr->txq_task);
|
||||
if (err)
|
||||
return (err);
|
||||
if (IGB_TX_TRYLOCK(txr)) {
|
||||
err = igb_mq_start_locked(ifp, txr);
|
||||
IGB_TX_UNLOCK(txr);
|
||||
} else
|
||||
taskqueue_enqueue(que->tq, &txr->txq_task);
|
||||
|
||||
return (err);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user