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

Re: [Xen-devel] [PATCH net-next v4 1/9] xen-netback: Introduce TX grant map definitions



On 14/01/14 20:39, Zoltan Kiss wrote:
@@ -1677,6 +1793,31 @@ static void xenvif_idx_release(struct xenvif *vif, u16 
pending_idx,
        vif->mmap_pages[pending_idx] = NULL;
  }

+void xenvif_idx_unmap(struct xenvif *vif, u16 pending_idx)
+{
+       int ret;
+       struct gnttab_unmap_grant_ref tx_unmap_op;
+
+       if (vif->grant_tx_handle[pending_idx] == NETBACK_INVALID_HANDLE) {
+               netdev_err(vif->dev,
+                          "Trying to unmap invalid handle! pending_idx: %x\n",
+                          pending_idx);
+               return;
+       }
+       gnttab_set_unmap_op(&tx_unmap_op,
+                           idx_to_kaddr(vif, pending_idx),
+                           GNTMAP_host_map,
+                           vif->grant_tx_handle[pending_idx]);
+       ret = gnttab_unmap_refs(&tx_unmap_op,
+                               &vif->mmap_pages[pending_idx],
+                               1);
+
+       ret = HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref,
+                                       &tx_unmap_op,
+                                       1);
+       BUG_ON(ret);
+       vif->grant_tx_handle[pending_idx] = NETBACK_INVALID_HANDLE;
+}

Awkward mistake, I forgot to delete the hypercall ... Even more interesting, it caused troubles only very rarely ...

Zoli

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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