|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |