WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] Xen 4.1.2 HVM guest realtek nic problems (eth0 8

To: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Xen 4.1.2 HVM guest realtek nic problems (eth0 8139cp transmit queue timed out)
From: Pasi Kärkkäinen <pasik@xxxxxx>
Date: Mon, 14 Nov 2011 19:39:31 +0200
Cc: "xen@xxxxxxxxxxxxxxxxxxxxxxx" <xen@xxxxxxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir.xen@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Mon, 14 Nov 2011 09:40:10 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20111111070250.GZ12984@xxxxxxxxxxx>
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: <CAD88F26.24242%keir.xen@xxxxxxxxx> <alpine.DEB.2.00.1111071153230.3519@kaball-desktop> <20111108112421.GU12984@xxxxxxxxxxx> <20111111070250.GZ12984@xxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.18 (2008-05-17)
On Fri, Nov 11, 2011 at 09:02:50AM +0200, Pasi Kärkkäinen wrote:
> > > > >> 
> > > > >> So the Ubuntu backport from xen-unstable to Xen 4.1.1 is here:
> > > > >> https://launchpadlibrarian.net/81948978/xen-pirq-resubmit-irq.patch
> > > > >> 
> > > > >> It seems to be shipping in Ubuntu 11.10 xen 4.1.1-2ubuntu4.1 
> > > > >> packages.
> > > > >> 
> > > > >> Does that patch look suitable to be applied to xen-4.1-testing.hg ?
> > > > >> This bug should be fixed for Xen 4.1.3.
> > > > > 
> > > > > Any comments? 
> > > > 
> > > > This looks like a backport of Stefano's xen-unstable c/s 24007. I would 
> > > > like
> > > > him to submit/ack the backport, as it is not a trivial backport of the
> > > > xen-unstable patch.
> > > 
> > > I would rather use the following backport. Compared to the other one it
> > > returns EINVAL in PHYSDEVOP_irq_status_query when the arguments are not
> > > correct.
> > > 
> > 
> > Thanks! Mayoung added this patch in xen-4.1.2-1.1.fc14.src.rpm,
> > and binary rpms are built for Fedora 16 here:
> > http://koji.fedoraproject.org/koji/taskinfo?taskID=3495905
> > 
> > So people should test this patch (or the rpms above) and confirm 
> > that it fixes the emulated realtek/ne2k issues.
> > 
> 
> Konrad confirmed the patch works with Xen 4.1.2 and realtek emulated nics.
> 
> So please commit the patch to xen-4.1-testing.hg.
> 

I also tested Fedora 16 xen-4.1.2-1.2.fc16 rpms,
which includes stefano's bugfix patch, and it seems to fix 
the emulated realtek nic problems.

So please go ahead and commit the fix to xen-4.1-testing.hg.

-- Pasi


> > 
> > > ---
> > > 
> > > diff -r 8c2d76193eaf xen/arch/x86/physdev.c
> > > --- a/xen/arch/x86/physdev.c      Wed Nov 02 15:02:18 2011 +0000
> > > +++ b/xen/arch/x86/physdev.c      Mon Nov 07 11:58:28 2011 +0000
> > > @@ -261,6 +261,7 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
> > >          ret = -EINVAL;
> > >          if ( eoi.irq >= v->domain->nr_pirqs )
> > >              break;
> > > +        spin_lock(&v->domain->event_lock);
> > >          if ( v->domain->arch.pirq_eoi_map )
> > >              evtchn_unmask(v->domain->pirq_to_evtchn[eoi.irq]);
> > >          if ( !is_hvm_domain(v->domain) ||
> > > @@ -268,6 +269,19 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
> > >              ret = pirq_guest_eoi(v->domain, eoi.irq);
> > >          else
> > >              ret = 0;
> > > +        if ( is_hvm_domain(v->domain) &&
> > > +                domain_pirq_to_emuirq(v->domain, eoi.irq) > 0 )
> > > +        {
> > > +            struct hvm_irq *hvm_irq = &v->domain->arch.hvm_domain.irq;
> > > +            int gsi = domain_pirq_to_emuirq(v->domain, eoi.irq);
> > > +
> > > +            /* if this is a level irq and count > 0, send another
> > > +             * notification */ 
> > > +            if ( gsi >= NR_ISAIRQS /* ISA irqs are edge triggered */
> > > +                    && hvm_irq->gsi_assert_count[gsi] )
> > > +                send_guest_pirq(v->domain, eoi.irq);
> > > +        }
> > > +        spin_unlock(&v->domain->event_lock);
> > >          break;
> > >      }
> > >  
> > > @@ -323,9 +337,10 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
> > >              break;
> > >          irq_status_query.flags = 0;
> > >          if ( is_hvm_domain(v->domain) &&
> > > -             domain_pirq_to_irq(v->domain, irq) <= 0 )
> > > +                domain_pirq_to_irq(v->domain, irq) <= 0 &&
> > > +                domain_pirq_to_emuirq(v->domain, irq) == IRQ_UNBOUND )
> > >          {
> > > -            ret = copy_to_guest(arg, &irq_status_query, 1) ? -EFAULT : 0;
> > > +            ret = -EINVAL;
> > >              break;
> > >          }
> > >  
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@xxxxxxxxxxxxxxxxxxx
> > http://lists.xensource.com/xen-devel
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

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

<Prev in Thread] Current Thread [Next in Thread>