[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] RE: Re: help with bugs


  • To: "Sean Dague" <sean@xxxxxxxxx>
  • From: "Ian Pratt" <m+Ian.Pratt@xxxxxxxxxxxx>
  • Date: Fri, 5 Aug 2005 15:09:59 +0100
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Fri, 05 Aug 2005 14:12:18 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcWZuJo6GF47schDRhWMjMOFtoBzrQADLlPA
  • Thread-topic: Re: help with bugs

 
> > If you're running services in dom0 that are used by other 
> domains you 
> > are liable to get head-of-line blocking or even deadlock of 
> the domU's 
> > networking unless you use veth0:  all of the domU's skb's 
> could end up 
> > getting queued in dom0 socket buffers.
> > 
> > veth0 avoids this by copying packets destined for dom0 and 
> giving the 
> > buffer back to the domU.
> 
> Is there a test case for this?  I've been running some 
> services in dom0 and apparently running without veth0 for 
> quite some time.  It would be good to have a test that shows 
> this problem.

I haven't tried this, but I suspect it would work:

 * run a ttcp receiver in dom0 with a very large socket buffer size
 * connect to it with a ttcp transmitter in domU (again, large sock
buffer)
 * with data in flight, ^Z the dom0 receiver

I'd expect to see the ntworking of the domU (and potentially other
domU's) start to run very slowly or even grind to a halt. You may need
multiple parallel tcp connections to trigger this. Using UDP makes it
happen much more easily.

If you're using veth0 you shouldn't have the problem.

[There are plans for making the backend buffer management more dynamic
that would mitigate the effect on other domU's, but this wouldn't
completely obviate the need for veth0 as a single domU could still end
up with all of its buffers being held by dom0.
There's a partial fix for TCP (not UDP) whereby we have dom0 release
it's mapping of the domU buffer as soon as its sent the TCP ACK, rather
than when it finally frees the skb when the client reads it. 

Possibly the cleanest option would be to add a hook in the local receive
path that would enable us to copy&unmap any packets destined for local
delivery. Anyhow, not for 3.0.0 ...]

Ian


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.