On Fri, Dec 09, 2011 at 04:00:59PM +0000, Haiyang Zhang wrote: > > -----Original Message----- > > From: Haiyang Zhang [mailto:haiyangz@xxxxxxxxxxxxx] > > Sent: Friday, December 02, 2011 2:56 PM > > To: Haiyang Zhang; KY Srinivasan; davem@xxxxxxxxxxxxx; gregkh@xxxxxxx; > > linux-kernel@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; > > devel@xxxxxxxxxxxxxxxxxxxxxx > > Subject: [PATCH] net/hyperv: Fix the stop/wake queue mechanism > > > > The ring buffer is only used to pass meta data for outbound packets. The > > actual payload is accessed by DMA from the host. So the stop/wake queue > > mechanism based on counting and comparing number of pages sent v.s. > > number > > of pages in the ring buffer is wrong. Also, there is a race condition in > > the stop/wake queue calls, which can stop xmit queue forever. > > > > The new stop/wake queue mechanism is based on the actual bytes used by > > outbound packets in the ring buffer. The check for number of outstanding > > sends after stop queue prevents the race condition that can cause wake > > queue happening earlier than stop queue. > > > > Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> > > Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> > > Reported-by: Long Li <longli@xxxxxxxxxxxxx> > > --- > > drivers/net/hyperv/netvsc.c | 14 +++++++++++--- > > drivers/net/hyperv/netvsc_drv.c | 24 +----------------------- > > 2 files changed, 12 insertions(+), 26 deletions(-) > > Hi Greg, > > Since the netvsc haven't been merged into Dave's tree yet after out of staging, > could you consider this patch for your tree? It's in my "to-apply" queue already. thanks, greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel