[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <OF0B685C71.DE1952AA-ON652572D8.001FCC16-652572D8.00219C94@in.ibm.com>
Date: Fri, 11 May 2007 11:37:07 +0530
From: Krishna Kumar2 <krkumar2@...ibm.com>
To: David Miller <davem@...emloft.net>
Cc: gaagaan@...il.com, johnpol@....mipt.ru, netdev@...r.kernel.org,
rick.jones2@...com, sri@...ibm.com
Subject: Re: [RFC] New driver API to speed up small packets xmits
Hi Dave,
David Miller <davem@...emloft.net> wrote on 05/11/2007 02:27:07 AM:
> > I don't understand how transmitting already batched up packets in one
go
> > introduce latency.
>
> Keep thinking :-)
>
> The only case where these ideas can be seriously considered is during
> netif_wake_queue(). In all other cases we go straight to the device
> from sendmsg(), since there is space in the TX ring, and we should
> not try to batch as that will add latency.
I am not very clear about this, you are saying latency will increase
due to old packets not being cache-warm ?
But the existing code will do exactly the same thing as what I am
proposing, except it will iterate over all the packets one by one.
So will batching them make latency worse ?
In the sendmsg case you wrote above (is it tcp_transmit_skb), it will
still come via IP (through dst_output) ?
I would like to try your idea if you are sure it will reduce latency.
Thanks,
- KK
> So maybe find a solution in that area, some new driver interface that
> can suck N packets out of a qdisc when netif_wake_queue() occurs.
>
> If you look at the contexts in which netif_wake_queue() is called,
> it's perfect, it already has the TX state of the driver locked, it has
> the TX descriptor head/tail pointers handy, etc. and it's already
> taken all the cache misses needed in order to work with this state.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists