> -----Original Message----- > From: Eric Dumazet [mailto:eric.dumazet@xxxxxxxxx] > Sent: Monday, March 19, 2012 4:47 PM > To: Haiyang Zhang > Cc: Stephen Hemminger; KY Srinivasan; davem@xxxxxxxxxxxxx; > netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > devel@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [PATCH 1/1] net/hyperv: Fix the code handling tx busy > > On Mon, 2012-03-19 at 19:17 +0000, Haiyang Zhang wrote: > > > Yes, we called the stop_queue before returning NETDEV_TX_BUSY. > > > > The stop_queue was called in the function netvsc_send() in file > > netvsc.c, then it returns to rndis_filter_send(), which returns to > > netvsc_start_xmit() in file netvsc_drv.c. So the NETDEV_TX_BUSY is > > indeed returned AFTER queue is stopped. > > > > Thats should be in your changelog, so that next time, reviewers dont have to > spend their time to check you did it right, especially when > start_xmit() code is not self contained or at least in a single file. > > Each time we see a NETDEV_TX_BUSY in a patch, this is a sign of a possible > problem. > > Your initial changelog was : > > Instead of dropping the packet, we keep the skb buffer, and return > NETDEV_TX_BUSY to let upper layer retry send. This will not cause endless > loop, because the host is taking data away from ring buffer. > > And this is the typical message that doesnt explain why its safe. Thanks for your time, I will re-submit the patch with the explanation in the change log. Thanks, - Haiyang _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel