[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070510.133710.15264671.davem@davemloft.net>
Date: Thu, 10 May 2007 13:37:10 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: gaagaan@...il.com
Cc: sri@...ibm.com, rick.jones2@...com, krkumar2@...ibm.com,
johnpol@....mipt.ru, netdev@...r.kernel.org
Subject: Re: [RFC] New driver API to speed up small packets xmits
From: Gagan Arneja <gaagaan@...il.com>
Date: Thu, 10 May 2007 12:43:53 -0700
> It's not just small packets. The cost of calling hard_start_xmit/byte
> was rather high on your particular device. I've seen PCI read
> transaction in hard_start_xmit taking ~10,000 cycles on one particular
> device. Count the cycles your brand of NIC is taking in it's
> xmit_routine. The worse it is, the stronger your case for cluster
> transmits.
>
> Also, I think, you don't have to chain skbs, they're already chained in
> Qdisc->q. All you have to do is take the whole q and try to shove it
> at the device hoping for better results. But then, if you have rather
> big backlog, you run the risk of reordering packets if you have to requeue.
If the qdisc is packed with packets and we would just loop sending
them to the device, yes it might make sense.
But if that isn't the case, which frankly is the usual case, you add a
non-trivial amount of latency by batching and that's bad exactly for
the kind of applications that send small frames.
-
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