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

Re: [Xen-devel] [PATCH v3 3/8] xen: remove other open-coded use of libxengnttab



> -----Original Message-----
> From: Anthony PERARD [mailto:anthony.perard@xxxxxxxxxx]
> Sent: 16 May 2018 15:14
> To: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx; qemu-block@xxxxxxxxxx; qemu-
> devel@xxxxxxxxxx; Stefano Stabellini <sstabellini@xxxxxxxxxx>; Greg Kurz
> <groug@xxxxxxxx>; Paolo Bonzini <pbonzini@xxxxxxxxxx>; Jason Wang
> <jasowang@xxxxxxxxxx>; Gerd Hoffmann <kraxel@xxxxxxxxxx>
> Subject: Re: [PATCH v3 3/8] xen: remove other open-coded use of
> libxengnttab
> 
> On Fri, May 04, 2018 at 08:26:02PM +0100, Paul Durrant wrote:
> > Now that helpers are available in xen_backend, use them throughout all
> > Xen PV backends.
> >
> > Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
> > ---
> > diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
> > index 20c43a6..73d6f1b 100644
> > --- a/hw/net/xen_nic.c
> > +++ b/hw/net/xen_nic.c
> > @@ -160,9 +160,8 @@ static void net_tx_packets(struct XenNetDev
> *netdev)
> >                            (txreq.flags & NETTXF_more_data)      ? " 
> > more_data"      : "",
> >                            (txreq.flags & NETTXF_extra_info)     ? " 
> > extra_info"     : "");
> >
> > -            page = xengnttab_map_grant_ref(netdev->xendev.gnttabdev,
> > -                                           netdev->xendev.dom,
> > -                                           txreq.gref, PROT_READ);
> > +            page = xen_be_map_grant_refs(&netdev->xendev,
> > +                                         &txreq.gref, 1, PROT_READ);
> 
> xen_be_map_grant_ref instead?
> 

Yep.

> >              if (page == NULL) {
> >                  xen_pv_printf(&netdev->xendev, 0,
> >                                "error: tx gref dereference failed (%d)\n",
> > @@ -183,7 +182,7 @@ static void net_tx_packets(struct XenNetDev
> *netdev)
> >                  qemu_send_packet(qemu_get_queue(netdev->nic),
> >                                   page + txreq.offset, txreq.size);
> >              }
> > -            xengnttab_unmap(netdev->xendev.gnttabdev, page, 1);
> > +            xen_be_unmap_grant_ref(&netdev->xendev, page);
> >              net_tx_response(netdev, &txreq, NETIF_RSP_OKAY);
> >          }
> >          if (!netdev->tx_work) {
> > @@ -254,9 +253,8 @@ static ssize_t net_rx_packet(NetClientState *nc,
> const uint8_t *buf, size_t size
> >      memcpy(&rxreq, RING_GET_REQUEST(&netdev->rx_ring, rc),
> sizeof(rxreq));
> >      netdev->rx_ring.req_cons = ++rc;
> >
> > -    page = xengnttab_map_grant_ref(netdev->xendev.gnttabdev,
> > -                                   netdev->xendev.dom,
> > -                                   rxreq.gref, PROT_WRITE);
> > +    page = xen_be_map_grant_refs(&netdev->xendev, &rxreq.gref, 1,
> > +                                 PROT_WRITE);
> 
> xen_be_map_grant_ref instead?
> 

And yep again.

> With that fix:
> Acked-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> 

Thanks :-)

  Paul

> --
> Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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