|
|
|
|
|
|
|
|
|
|
xen-devel
RE: [Xen-devel] RE: Rather slow time of Pin in Windows with GPL PVdriver
To: |
James Harper <james.harper@xxxxxxxxxxxxxxxx>, MaoXiaoyun <tinnycloud@xxxxxxxxxxx> |
Subject: |
RE: [Xen-devel] RE: Rather slow time of Pin in Windows with GPL PVdriver |
From: |
Paul Durrant <Paul.Durrant@xxxxxxxxxx> |
Date: |
Mon, 14 Mar 2011 10:32:30 +0000 |
Accept-language: |
en-US |
Acceptlanguage: |
en-US |
Cc: |
xen devel <xen-devel@xxxxxxxxxxxxxxxxxxx> |
Delivery-date: |
Mon, 14 Mar 2011 03:32:55 -0700 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<AEC6C66638C05B468B556EA548C1A77D01C55F28@trantor> |
List-help: |
<mailto:xen-devel-request@lists.xensource.com?subject=help> |
List-id: |
Xen developer discussion <xen-devel.lists.xensource.com> |
List-post: |
<mailto:xen-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |
References: |
<BLU157-w6170D9B9C6DC4E4CF04C2FDAC90@xxxxxxx>, <D271C3A4-9B27-4E08-A92A-D55A811736EC@xxxxxxxxxxxxxxxx><BLU157-w82233DE21FFA3AC07FCC3DAC90@xxxxxxx>, <AEC6C66638C05B468B556EA548C1A77D01C55DCB@trantor><BLU157-w58A3CAD3FBB61D96ABE7CCDAC90@xxxxxxx>, <AEC6C66638C05B468B556EA548C1A77D01C55DCF@trantor><BLU157-w54789B64D3FF1F57924AD2DAC80@xxxxxxx>, <AEC6C66638C05B468B556EA548C1A77D01C55E87@trantor>, <291EDFCB1E9E224A99088639C47620228E936E1A88@xxxxxxxxxxxxxxxxxxxxxxxxx>, <AEC6C66638C05B468B556EA548C1A77D01C55E8E@trantor>, <291EDFCB1E9E224A99088639C47620228E936E1A9A@xxxxxxxxxxxxxxxxxxxxxxxxx>, <AEC6C66638C05B468B556EA548C1A77D01C55E91@trantor>, <291EDFCB1E9E224A99088639C47620228E936E1AA0@xxxxxxxxxxxxxxxxxxxxxxxxx> <BLU157-w40A631DA58C4F38FA6AC09DACB0@xxxxxxx> <AEC6C66638C05B468B556EA548C1A77D01C55F28@trantor> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
Thread-index: |
AcvfqqfblFGOyE2AQHGuXl5MVRnf/gBYJvCwADRlfKAAFUUJsA== |
Thread-topic: |
[Xen-devel] RE: Rather slow time of Pin in Windows with GPL PVdriver |
NDIS 5.x on Vista+ has some serious issues: see
http://www.osronline.com/showThread.cfm?link=124242
This probably doesn't explain an immediate performance issue though. RSS is
supported on Windows 2k3 SP2 IIRC but you need to bind as NDIS 5.2. I don't
think it's present in the 6.x -> 5.x wrapper in Vista+ though. You'd need to
use NDIS 6.1+.
Paul
> -----Original Message-----
> From: James Harper [mailto:james.harper@xxxxxxxxxxxxxxxx]
> Sent: 14 March 2011 00:46
> To: MaoXiaoyun; Paul Durrant
> Cc: xen devel
> Subject: RE: [Xen-devel] RE: Rather slow time of Pin in Windows with
> GPL PVdriver
>
> >
> > I've just pushed a bit of a rewrite of the rx path in gplpv. It's
> not
> > particularly well tested yet but I can't get it to crash. It
> should
> scale much
> > better with SMP too. I'm using more lock free data structures so
> the
> lock's
> > are held for much less time.
> >
>
> Unfortunately performance still isn't good. What I've found is that
> NDIS really does want you to only process packets on one CPU at one
> time (eg CPU0), otherwise they are indicated to NDIS out of order
> causing serious performance problems (according to the docs).
>
> In addition to KeSetTargetProcessorDpc(&xi->rx_dpc, 0), we also need
> to do KeSetImportanceDpc(&xi->rx_dpc, HighImportance) - as Paul
> stated, which makes sure the DPC runs immediately even if it is
> triggered from another CPU (I assume this has IPI overhead though).
> I think I could detect >1 CPU's and schedule the rx and tx onto
> different CPU's to each other, but always the same CPU.
>
> Windows does support RSS which ensures per-connection in-order
> processing of packets. From reading the "Receive-Side Scaling
> Enhancements in Windows Server 2008" document, it appears that we
> would need to hash various fields in the packet header and compute a
> CPU number for that connection, then schedule the DPC onto that CPU.
> It shouldn't be that hard except that xennet.sys is an NDIS5.1
> driver, not an NDIS6.0 driver, and in order to support NDIS6.0 I
> would need to maintain two trees which I'm reluctant to do without a
> very good reason.
> Other docs state the RSS is supported for Windows 2003 SP2 but I
> can't find any specifics - I've asked the question on the ntdev
> list.
>
> James
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- RE: [Xen-devel] RE: Rather slow time of Ping in Windows with GPLPVdriver, (continued)
- RE: [Xen-devel] RE: Rather slow time of Pin in Windows with GPL PVdriver, MaoXiaoyun
- RE: [Xen-devel] RE: Rather slow time of Pin in Windows with GPL PVdriver, James Harper
- RE: [Xen-devel] RE: Rather slow time of Pin in Windows with GPL PVdriver, James Harper
- RE: [Xen-devel] RE: Rather slow time of Pin in Windows with GPL PVdriver, MaoXiaoyun
- RE: [Xen-devel] RE: Rather slow time of Ping in Windows with GPL PVdriver, James Harper
- RE: [Xen-devel] RE: Rather slow time of Ping in Windows with GPL PVdriver, MaoXiaoyun
- RE: [Xen-devel] RE: Rather slow time of Ping in Windows with GPL PVdriver, James Harper
- RE: [Xen-devel] RE: Rather slow time of Ping in Windows with GPL PVdriver, Paul Durrant
- RE: [Xen-devel] RE: Rather slow time of Pin in Windows with GPL PVdriver,
Paul Durrant <=
- RE: [Xen-devel] RE: Rather slow time of Pin in Windows with GPL PVdriver, James Harper
|
|
|
|
|