Subject: Re: [PATCH 2/2] net: at91_ether.c - Allow transmitter interrupt to be handled first in ISR

From: Eric Dumazet <[email-masked]>
Date: Wed, 13 Jan 2010 19:08:44 +0100

Le 13/01/2010 18:46, James Kosin a écrit :
> Ok,
> 
> This next patch is optional....
> 
> The idea is TUND should only happen on occasions when the PHY is unable
> to receive the transmitter data in a timely fashion to successfully send
> the data in a single burst.  This is not a hard error; so, why do we
> treat it as such.
> 
> This patch allows the transmitter to resend the failed skb inside the
> ISR without having to deal with the overhead of freeing the skb then
> having the main task re-allocate a new skb for the failed packet.

Are we sure chip doesnt report TUND forever in some situations ?
Should'nt we have a retry limit for each skb ?

> James Kosin
--- C:/Documents and Settings/jkosin/My Documents/junk/kernel/Copy of linux-2.6.31.5/drivers/net/arm/at91_ether.c	Wed Jan 13 12:26:13 2010
+++ C:/Documents and Settings/jkosin/My Documents/junk/kernel/linux-2.6.31.5/drivers/net/arm/at91_ether.c	Wed Jan 13 12:38:55 2010

Oh well :)

Please read Documentation/SubmittingPatches

1) Should be in "diff -u" form
9) Your patch should be based on latest kernel (preferrably on David net-next-2.6 git tree)

12) Should be Signed-off-by

You said in a previous mail the chip was capable of queueing two frames,
it would be nice to exploit this in driver, since at91 has only one frame
in transmit queue.