Port-xen archive

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

Re: NetBSD/xen goes off the network - reproduceable



On Wed, Feb 22, 2012 at 08:10:36AM -0500, Brian Marcotte wrote:
> > I found the problem: [bpf panic]
> 
> I'm no longer getting a panic.
> 
> > I also fixed the xennet_rx_free_req() logic to not wait for the
> > ring to be completely empty to start filling it. 4/5 of the ring size
> > looks a good compromise (doing it too often for a low number of buffers
> > increases significantly the CPU usage).
> 
> In fact, without that, I would find that the dom0 would stop sending
> packets to the domU about every minute or so. Having the domU send a
> packet would unstick things. The packets were held somewhere and not
> lost.
> 
> This is something I've seen in 5.1 as well, but only rarely and only
> when a system was just sitting idle for long periods of time.
> 
> I found that switching to this code fixes that problem:
> 
> > +#if 0
> > +   RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(&sc->sc_rx_ring, notify);
> > +   if (notify)
> > +           hypervisor_notify_via_evtchn(sc->sc_evtchn);
> > +#endif
> 
> In fact, I used to run with that code in place when I was running 5.0.

It's not supposed to be needed, at last with a NetBSD dom0. Earlier linux
dom0 were not cheching the rx ring from the event handler; so sending
an event was useless. Linux 2.6.39 does check, so this code is
probably usefull now.

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index