Re: [PATCH 1/4] pch_gbe: Fix transmit queue management

From: OndÅej PuÅman
Date: Sat Nov 30 2013 - 17:41:58 EST


Please format your commit message text to 80 columns.

Ok, no problem. I did not know that 80 columns limitation applies also
for commit messages.

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.

Hmm, correct me if I'm wrong ... but the driver and hardware does not
support scatter-gather DMA. So fragmented skbs can't be passed to
ndo_start_xmit function and each skb passed to the function represents
one packet and one descriptor in tx_ring.
I do not think that in this caseit makes sense to to involve
MAX_SKB_FRAGS in any calculation and the queue should be stopped in the
moment when it gets full.
But maybe I am missing something, I am no expert in this kind of stuff.

--
Ondrej Puzman

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/