[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <A1F3067C9B68744AA19F6802BAB8FFDC0CCD457B@TK5EX14MBXC227.redmond.corp.microsoft.com>
Date: Fri, 9 Dec 2011 16:00:59 +0000
From: Haiyang Zhang <haiyangz@...rosoft.com>
To: KY Srinivasan <kys@...rosoft.com>,
"davem@...emloft.net" <davem@...emloft.net>,
"gregkh@...e.de" <gregkh@...e.de>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"devel@...uxdriverproject.org" <devel@...uxdriverproject.org>
Subject: RE: [PATCH] net/hyperv: Fix the stop/wake queue mechanism
> -----Original Message-----
> From: Haiyang Zhang [mailto:haiyangz@...rosoft.com]
> Sent: Friday, December 02, 2011 2:56 PM
> To: Haiyang Zhang; KY Srinivasan; davem@...emloft.net; gregkh@...e.de;
> linux-kernel@...r.kernel.org; netdev@...r.kernel.org;
> devel@...uxdriverproject.org
> 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@...rosoft.com>
> Signed-off-by: K. Y. Srinivasan <kys@...rosoft.com>
> Reported-by: Long Li <longli@...rosoft.com>
> ---
> 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?
Thanks,
- Haiyang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists