Re: [PATCH 2/4] virtio_net: return NETDEV_TX_BUSY instead of queueing an extra skb.

2009-06-22 Thread Herbert Xu
On Mon, Jun 22, 2009 at 11:25:29AM -0700, Matt Carlson wrote: > > As was said elsewhere, from the driver writer's perspective every packet > that has already been submitted (queued) to the hardware cannot be > preempted. Slightly extending that logic doesn't seem like that much of > a problem, esp

Re: [PATCH 2/4] virtio_net: return NETDEV_TX_BUSY instead of queueing an extra skb.

2009-06-22 Thread Matt Carlson
On Mon, Jun 22, 2009 at 12:34:17AM -0700, Herbert Xu wrote: > On Mon, Jun 22, 2009 at 11:16:03AM +0530, Krishna Kumar2 wrote: > > > > I was curious about "queueing it in the driver" part: why is this bad? Do > > you > > anticipate any performance problems, or does it break QoS, or something > > els

Re: [PATCH 2/4] virtio_net: return NETDEV_TX_BUSY instead of queueing an extra skb.

2009-06-22 Thread Krishna Kumar2
Thanks Herbert. I thought lesser processing is required for those skbs queued at the driver (avoid qdisc_restart, and repeated calls to dequeue_skb where skb from the cached 'gso_skb' is checked if send'able and put back till the queue is re-enabled) and hence some gains is possible. So far, my tes

Re: [PATCH 2/4] virtio_net: return NETDEV_TX_BUSY instead of queueing an extra skb.

2009-06-22 Thread Krishna Kumar2
Hi Herbert, > Herbert Xu wrote on 06/19/2009 10:06:13 AM: > > > We either remove the API, or fix it. I think fixing it is better, because my > > driver will be simpler and it's obvious noone wants to rewrite 50 drivers and > > break several of them. > > My preference is obviously in the long ter

Re: [PATCH 2/4] virtio_net: return NETDEV_TX_BUSY instead of queueing an extra skb.

2009-06-22 Thread Herbert Xu
On Mon, Jun 22, 2009 at 11:16:03AM +0530, Krishna Kumar2 wrote: > > I was curious about "queueing it in the driver" part: why is this bad? Do > you > anticipate any performance problems, or does it break QoS, or something > else I > have missed? Queueing it in the driver is bad because it is no di