From: jamal <hadi@cyberus.ca>
To: Gagan Arneja <gaagaan@gmail.com>
Cc: Sridhar Samudrala <sri@us.ibm.com>,
Rick Jones <rick.jones2@hp.com>,
Krishna Kumar2 <krkumar2@in.ibm.com>,
Evgeniy Polyakov <johnpol@2ka.mipt.ru>,
netdev@vger.kernel.org
Subject: Re: [RFC] New driver API to speed up small packets xmits
Date: Thu, 10 May 2007 16:11:27 -0400 [thread overview]
Message-ID: <1178827887.4062.90.camel@localhost> (raw)
In-Reply-To: <464375F9.1050600@gmail.com>
The discussion seems to have steered into protocol coalescing.
My tests for example were related to forwarding and not specific
to any protocol.
On Thu, 2007-10-05 at 12:43 -0700, Gagan Arneja wrote:
> 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.
You would need to almost re-write the driver to make sure it does IO
which is taking advantage of the batching.
> 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.
You are onto something with desire to use the qdisc; however, note you
need to leave the qdisc above so other CPUs can continue enqueueing.
In my approach i used the qdisc to populate a list that is attached to
the dev.
> But then, if you have rather
> big backlog, you run the risk of reordering packets if you have to requeue.
You could avoid totaly requeueing by asking the driver how much space it
has. Once you shove down to it a number of packets, you are then
guaranteed they will never be requeued (refer to the slides i pointed to
earlier).
cheers,
jamal
next prev parent reply other threads:[~2007-05-10 20:11 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-10 14:53 [RFC] New driver API to speed up small packets xmits Krishna Kumar
2007-05-10 15:08 ` Evgeniy Polyakov
2007-05-10 15:22 ` Krishna Kumar2
2007-05-10 15:48 ` Evgeniy Polyakov
2007-05-10 16:08 ` jamal
2007-05-10 17:19 ` Rick Jones
2007-05-10 18:07 ` Sridhar Samudrala
2007-05-10 19:43 ` Gagan Arneja
2007-05-10 20:11 ` jamal [this message]
2007-05-10 20:14 ` Rick Jones
2007-05-10 20:15 ` jamal
2007-05-10 20:15 ` Gagan Arneja
2007-05-10 20:21 ` jamal
2007-05-10 20:25 ` Gagan Arneja
2007-05-11 5:22 ` Krishna Kumar2
2007-05-11 11:27 ` jamal
2007-05-10 20:37 ` David Miller
2007-05-10 20:40 ` Gagan Arneja
2007-05-10 20:57 ` David Miller
2007-05-11 6:07 ` Krishna Kumar2
2007-05-11 5:21 ` Krishna Kumar2
2007-05-11 5:20 ` Krishna Kumar2
2007-05-11 5:35 ` Gagan Arneja
2007-05-11 5:43 ` Krishna Kumar2
2007-05-11 5:57 ` Gagan Arneja
2007-05-11 6:06 ` Krishna Kumar2
2007-05-11 6:29 ` Gagan Arneja
2007-05-11 6:52 ` Krishna Kumar2
2007-05-10 18:13 ` Vlad Yasevich
2007-05-10 18:20 ` Rick Jones
2007-05-10 18:32 ` Vlad Yasevich
2007-05-10 18:40 ` Rick Jones
2007-05-10 18:59 ` Ian McDonald
2007-05-10 19:21 ` Vlad Yasevich
2007-05-10 19:26 ` Ian McDonald
2007-05-10 20:32 ` David Miller
2007-05-10 20:49 ` Rick Jones
2007-05-10 21:02 ` David Miller
2007-05-10 21:14 ` Gagan Arneja
2007-05-11 2:28 ` Stephen Hemminger
2007-05-11 5:01 ` Gagan Arneja
2007-05-11 5:04 ` Krishna Kumar2
2007-05-11 9:01 ` Evgeniy Polyakov
2007-05-11 9:18 ` Krishna Kumar2
2007-05-11 9:32 ` Evgeniy Polyakov
2007-05-11 9:52 ` Krishna Kumar2
2007-05-11 9:56 ` Evgeniy Polyakov
2007-05-11 11:30 ` jamal
2007-05-11 11:53 ` Evgeniy Polyakov
2007-05-11 12:15 ` jamal
2007-05-10 21:27 ` David Stevens
2007-05-10 21:40 ` David Miller
2007-05-10 21:50 ` Gagan Arneja
2007-05-10 22:06 ` David Miller
2007-05-11 9:46 ` Krishna Kumar2
2007-05-10 21:41 ` Eric Dumazet
2007-05-10 22:09 ` Rick Jones
2007-05-10 21:45 ` Rick Jones
2007-05-10 21:53 ` David Stevens
2007-05-10 20:21 ` Roland Dreier
2007-05-11 7:30 ` Krishna Kumar2
2007-05-11 11:21 ` Roland Dreier
2007-05-11 9:05 ` Andi Kleen
2007-05-11 8:32 ` Krishna Kumar2
2007-05-11 9:37 ` Andi Kleen
2007-05-11 8:50 ` Krishna Kumar2
2007-05-11 11:16 ` Roland Dreier
2007-05-13 6:00 ` Andi Kleen
2007-05-15 16:25 ` Roland Dreier
2007-05-15 20:18 ` David Miller
2007-05-15 20:52 ` Roland Dreier
2007-05-15 21:48 ` Michael Chan
2007-05-15 21:08 ` Roland Dreier
2007-05-15 22:05 ` Michael Chan
2007-05-15 21:28 ` David Miller
2007-05-18 7:04 ` Michael Chan
-- strict thread matches above, loose matches on Subject: below --
2007-05-11 7:14 Krishna Kumar2
[not found] <OF0CAD6D87.DBE62968-ON872572DC.0073646A-882572DC.0073BEC2@us.ibm.com>
2007-05-15 21:17 ` Roland Dreier
[not found] ` <OFF5654BB8.74EC8DCB-ON872572DC.00752079-882572DC.00756B23@us.ibm.com>
2007-05-15 21:25 ` Roland Dreier
[not found] ` <OF21D475A2.5E5C88DE-ON872572DC.00763DE4-882572DC.00768A7E@us.ibm.com>
2007-05-15 21:38 ` David Miller
2007-05-15 21:32 ` David Miller
[not found] ` <OF6757F56D.EE5984FD-ON872572DC.0081026C-882572DC.00814B8F@us.ibm.com>
2007-05-15 23:36 ` David Miller
2007-05-21 7:56 ` Herbert Xu
[not found] ` <OF9ABCD08D.2CD1B193-ON872572E3.007A6FC1-882572E3.007ACE1A@us.ibm.com>
2007-05-22 22:36 ` David Miller
[not found] ` <OFCF3EB7F8.9740C0C7-ON872572E3.007DADF6-882572E3.007E0E7B@us.ibm.com>
2007-05-22 23:04 ` David Miller
2007-05-22 23:12 ` Herbert Xu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1178827887.4062.90.camel@localhost \
--to=hadi@cyberus.ca \
--cc=gaagaan@gmail.com \
--cc=johnpol@2ka.mipt.ru \
--cc=krkumar2@in.ibm.com \
--cc=netdev@vger.kernel.org \
--cc=rick.jones2@hp.com \
--cc=sri@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).