netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rick Jones <rick.jones2@hp.com>
To: Eric Dumazet <dada1@cosmosbay.com>
Cc: David Stevens <dlstevens@us.ibm.com>,
	Evgeniy Polyakov <johnpol@2ka.mipt.ru>,
	Krishna Kumar2 <krkumar2@in.ibm.com>,
	netdev@vger.kernel.org, netdev-owner@vger.kernel.org
Subject: Re: [RFC] New driver API to speed up small packets xmits
Date: Thu, 10 May 2007 15:09:56 -0700	[thread overview]
Message-ID: <46439834.4090406@hp.com> (raw)
In-Reply-To: <46439189.5090907@cosmosbay.com>

Eric Dumazet wrote:
> David Stevens a écrit :
> 
>> The word "small" is coming up a lot in this discussion, and
>> I think packet size really has nothing to do with it. Multiple
>> streams generating packets of any size would benefit; the
>> key ingredient is a queue length greater than 1.
>>
>> I think the intent is to remove queue lock cycles by taking
>> the whole list (at least up to the count of free ring buffers)
>> when the queue is greater than one packet, thus effectively
>> removing the lock expense for n-1 packets.
>>
> 
> Yes, but on modern cpus, locked operations are basically free once the 
> CPU already has the cache line in exclusive access in its L1 cache.

But will it here?  Any of the CPUs are trying to add things to the qdisc, but 
only one CPU is pulling from it right?  Even if the "pulling from it" is 
happening in a loop, there can be scores or more other cores trying to add 
things to the queue, which would cause that cache line to migrate.

> I am not sure adding yet another driver API will help very much.
> It will for sure adds some bugs and pain.

That could very well be.

> A less expensive (and less prone to bugs) optimization would be to 
> prefetch one cache line for next qdisc skb, as a cache line miss is far 
> more expensive than a locked operation (if lock already in L1 cache of 
> course)

Might they not build on on top of the other?

rick jones



  reply	other threads:[~2007-05-10 22:10 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
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 [this message]
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=46439834.4090406@hp.com \
    --to=rick.jones2@hp.com \
    --cc=dada1@cosmosbay.com \
    --cc=dlstevens@us.ibm.com \
    --cc=johnpol@2ka.mipt.ru \
    --cc=krkumar2@in.ibm.com \
    --cc=netdev-owner@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /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).