Messages in this thread |  | | Date | Fri, 29 Nov 2013 16:42:29 -0500 (EST) | Subject | Re: [PATCH 1/4] pch_gbe: Fix transmit queue management | From | David Miller <> |
| |
From: Ondrej Puzman <puzman@gmail.com> Date: Thu, 28 Nov 2013 10:44:39 +0100
> According to Documentation/networking/driver.txt the ndo_start_xmit method should not return NETDEV_TX_BUSY under normal circumstances. > Stop the transmit queue when tx_ring is full.
Please format your commit message text to 80 columns.
> > Signed-off-by: Ondrej Puzman <puzman@gmail.com>
You should be instead preventing the transmit method from being invoked when it might be possible that a request cannot be satisfied.
This means that at the end of a transmit request, you must stop the queue if a packet with the maximum number of possible descriptors cannot be satisfied. Then it is impossible for the transmit function to be invoked in a situation where it would need to fail for lack of available transmit descriptors.
This is why drivers decided whether to stop their TX queues based upon calculations involving MAX_SKB_FRAGS.
|  |