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

Re: [Xen-devel] [RFC PATCH 06/13] xen-netback: copy buffer on xenvif_start_xmit()



On Fri, May 22, 2015 at 10:26:48AM +0000, Joao Martins wrote:
[...]
> >>    return IRQ_HANDLED;
> >> }
> >> @@ -168,8 +169,12 @@ static int xenvif_start_xmit(struct sk_buff *skb, 
> >> struct net_device *dev)
> >>    cb = XENVIF_RX_CB(skb);
> >>    cb->expires = jiffies + vif->drain_timeout;
> >> 
> >> -  xenvif_rx_queue_tail(queue, skb);
> >> -  xenvif_kick_thread(queue);
> >> +  if (!queue->vif->persistent_grants) {
> >> +          xenvif_rx_queue_tail(queue, skb);
> >> +          xenvif_kick_thread(queue);
> >> +  } else if (xenvif_rx_map(queue, skb)) {
> >> +          return NETDEV_TX_BUSY;
> >> +  }
> >> 
> > 
> > We now have two different functions for guest RX, one is xenvif_rx_map,
> > the other is xenvif_rx_action. They look very similar. Can we only have
> > one?
> I think I can merge this into xenvif_rx_action, and I notice that the stall
> detection its missing. I will also add that.
> Perhaps I could also disable the RX kthread, since this doesn't get used with
> persistent grants?
> 

Disabling that kthread is fine. But we do need to make sure we can do
the same things in start_xmit as we are in kthread. I.e. what context
does start_xmit run in and what are the restrictions.

Wei.

_______________________________________________
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®.