netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ben Greear <greearb@candelatech.com>
To: David Miller <davem@davemloft.net>
Cc: jeff@garzik.org, netdev@vger.kernel.org, kaber@trash.net,
	hadi@cyberus.ca, peter.p.waskiewicz.jr@intel.com,
	auke-jan.h.kok@intel.com
Subject: Re: [PATCH] NET: Multiqueue network device support.
Date: Tue, 12 Jun 2007 14:46:50 -0700	[thread overview]
Message-ID: <466F144A.3070809@candelatech.com> (raw)
In-Reply-To: <20070612.142658.45082832.davem@davemloft.net>

David Miller wrote:
> From: Ben Greear <greearb@candelatech.com>
> Date: Tue, 12 Jun 2007 14:17:44 -0700
> 
>> Jeff Garzik wrote:
>>> If hardware w/ multiple queues will the capability for different MAC 
>>> addresses, different RX filters, etc. does it make sense to add that 
>>> below the net_device level?
>>>
>>> We will have to add all the configuration machinery at the per-queue 
>>> level that already exists at the per-netdev level.
>> Perhaps the mac-vlan patch would be a good fit.  Currently it is all
>> software based, but if the hardware can filter on MAC, it can basically
>> do mac-vlan acceleration.  The mac-vlan devices are just like 'real' ethernet
>> devices, so they can be used with whatever schemes work with regular devices.
> 
> Interesting.
> 
> But to answer Jeff's question, that's not really the model being
> used to implement multiple queues.
> 
> The MAC is still very much centralized in most designs.
> 
> So one way they'll do it is to support assigning N MAC addresses,
> and you configure the input filters of the chip to push packets
> for each MAC to the proper receive queue.
> 
> So the MAC will accept any of those in the N MAC addresses as
> it's own, then you use the filtering facilities to steer
> frames to the correct RX queue.
> 
> The TX and RX queues can be so isolated as to be able to be exported
> to virtualization nodes.  You can give them full access to the DMA
> queues and assosciated mailboxes.  So instead of all of this bogus
> virtualized device overhead, you just give the guest access to the
> real device.
> 
> So you can use multiple queues either for better single node SMP
> performance, or better virtualization performance.

That sounds plausible for many uses, but it may also be useful to have
the virtual devices.  Having 802.1Q VLANs be 'real' devices has worked out
quite well, so I think there is a place for a 'mac-vlan' as well.

With your description above, the 'correct RX queue' could be the
only queue that the mac-vlan sees, so it would behave somewhat like
a vanilla ethernet driver.  When the mac-vlan transmits, it could
transmit directly into it's particular TX queue on the underlying device.

In a non guest environment, I believe the mac-vlan will act somewhat like
a more flexible form of an ip-alias.  When name-spaces are implemented,
the mac-vlan would very easily allow the different name-spaces to share the same physical
hardware.  The overhead should be minimal, and it's likely that using
a 'real' network device will be a lot easier to maintain than trying to directly
share separate queues on a single device that is somehow visible in multiple
namespaces.

And, since the mac-vlan can work as pure software on top of any NIC that
can go promisc and send with arbitrary source MAC, it will already work
with virtually all wired ethernet devices currently in existence.

Thanks,
Ben


-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


  parent reply	other threads:[~2007-06-12 21:47 UTC|newest]

Thread overview: 153+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-04 21:40 [RFC] NET: Multiple queue hardware support PJ Waskiewicz
2007-06-04 21:40 ` [PATCH] NET: Multiqueue network device support PJ Waskiewicz
2007-06-05 11:50   ` jamal
2007-06-05 15:51     ` Waskiewicz Jr, Peter P
2007-06-05 22:28       ` jamal
2007-06-06 15:11         ` Patrick McHardy
2007-06-06 22:13           ` jamal
2007-06-06 22:30             ` Waskiewicz Jr, Peter P
2007-06-06 22:40               ` David Miller
2007-06-06 23:35                 ` jamal
2007-06-06 23:56                   ` David Miller
2007-06-07 16:08                     ` Stephen Hemminger
2007-06-07 16:59                       ` Waskiewicz Jr, Peter P
2007-06-11 12:08                         ` Patrick McHardy
2007-06-07 22:04                       ` jamal
2007-06-09 14:58               ` Leonid Grossman
2007-06-09 19:23                 ` jamal
2007-06-09 21:23                   ` Leonid Grossman
2007-06-09 22:14                     ` Jeff Garzik
2007-06-10  3:02                     ` jamal
2007-06-10 15:27                       ` Leonid Grossman
2007-06-06 22:35             ` David Miller
2007-06-06 22:57               ` Waskiewicz Jr, Peter P
2007-06-06 23:00                 ` David Miller
2007-06-06 23:14                   ` Waskiewicz Jr, Peter P
2007-06-06 23:36                     ` Jeff Garzik
2007-06-06 23:32               ` jamal
2007-06-06 23:48                 ` Rick Jones
2007-06-06 23:54                   ` jamal
2007-06-07  0:01                     ` David Miller
2007-06-06 23:58                   ` David Miller
2007-06-06 23:52                 ` David Miller
2007-06-07  0:47                   ` Jeff Garzik
2007-06-07 12:29                     ` jamal
2007-06-07 15:03                       ` Kok, Auke
2007-06-07 21:57                         ` jamal
2007-06-07 22:06                           ` Kok, Auke
2007-06-07 22:26                             ` jamal
2007-06-07 22:30                               ` Kok, Auke
2007-06-07 22:57                                 ` jamal
2007-06-07 22:44                           ` David Miller
2007-06-07 22:54                             ` jamal
2007-06-07 23:00                               ` David Miller
2007-06-07 23:03                                 ` jamal
2007-06-08  0:31                                 ` Sridhar Samudrala
2007-06-08  1:35                                   ` jamal
2007-06-08 10:39                                     ` Herbert Xu
2007-06-08 11:34                                       ` jamal
2007-06-08 12:37                                         ` Herbert Xu
2007-06-08 13:12                                           ` jamal
2007-06-09 11:08                                             ` Herbert Xu
2007-06-09 14:36                                               ` jamal
2007-06-08  5:32                                   ` Krishna Kumar2
2007-06-08 19:55                                     ` Waskiewicz Jr, Peter P
2007-06-09  0:24                                       ` jamal
2007-06-07 22:55                             ` Waskiewicz Jr, Peter P
2007-06-09  1:05                               ` Ramkrishna Vepa
2007-06-06 23:53                 ` David Miller
2007-06-07  1:08                   ` jamal
2007-06-07 12:22                     ` jamal
2007-06-11 12:01                 ` Patrick McHardy
2007-06-11 11:58             ` Patrick McHardy
2007-06-11 12:23               ` jamal
2007-06-11 12:39                 ` Patrick McHardy
2007-06-11 12:52                   ` jamal
2007-06-11 13:03                     ` Patrick McHardy
2007-06-11 13:29                       ` jamal
2007-06-11 14:03                         ` Patrick McHardy
2007-06-11 14:30                           ` Cohen, Guy
2007-06-11 14:38                             ` Patrick McHardy
2007-06-11 14:48                             ` jamal
2007-06-11 15:00                               ` Tomas Winkler
2007-06-11 15:14                                 ` jamal
2007-06-11 15:34                               ` Cohen, Guy
2007-06-11 22:22                                 ` jamal
2007-06-12 14:04                                   ` Cohen, Guy
2007-06-12 15:23                                     ` jamal
2007-06-12 23:38                                     ` jamal
2007-06-11 14:40                           ` jamal
2007-06-11 14:49                             ` Patrick McHardy
2007-06-11 15:05                               ` jamal
2007-06-11 15:12                                 ` Patrick McHardy
2007-06-11 15:25                                   ` jamal
2007-06-11 15:44                                     ` Patrick McHardy
2007-06-11 21:35                                       ` jamal
2007-06-11 23:01                                         ` Patrick McHardy
2007-06-12  0:58                                         ` Patrick McHardy
2007-06-12  2:29                                           ` jamal
2007-06-12 13:21                                             ` Patrick McHardy
2007-06-12 15:12                                               ` jamal
2007-06-12 21:02                                               ` David Miller
2007-06-12 21:13                                                 ` Jeff Garzik
2007-06-12 21:17                                                   ` Ben Greear
2007-06-12 21:26                                                     ` David Miller
2007-06-12 21:46                                                       ` Jeff Garzik
2007-06-12 21:52                                                         ` Roland Dreier
2007-06-12 21:59                                                           ` Jeff Garzik
2007-06-12 22:04                                                             ` David Miller
2007-06-12 22:18                                                               ` Jeff Garzik
2007-06-12 22:00                                                           ` David Miller
2007-06-12 21:53                                                         ` David Miller
2007-06-12 22:01                                                           ` Jeff Garzik
2007-06-12 21:46                                                       ` Ben Greear [this message]
2007-06-12 21:54                                                         ` David Miller
2007-06-12 22:30                                                         ` Jeff Garzik
2007-06-12 22:40                                                           ` Ben Greear
2007-06-12 21:47                                                       ` Jason Lunz
2007-06-12 21:55                                                         ` David Miller
2007-06-12 22:17                                                           ` Jason Lunz
2007-06-13  3:41                                                         ` Leonid Grossman
2007-06-13 16:44                                                   ` Rick Jones
2007-06-12 21:17                                                 ` Patrick McHardy
2007-06-13  5:56                                                   ` Zhu Yi
2007-06-13 11:34                                                     ` Patrick McHardy
2007-06-14  1:51                                                       ` Zhu Yi
2007-06-13 12:32                                                     ` jamal
2007-06-13 13:12                                                       ` Robert Olsson
2007-06-13 13:33                                                         ` jamal
2007-06-13 15:01                                                           ` Leonid Grossman
2007-06-13 15:53                                                           ` Robert Olsson
2007-06-13 18:20                                                           ` David Miller
2007-06-13 18:22                                                             ` Waskiewicz Jr, Peter P
2007-06-13 21:30                                                             ` jamal
2007-06-14  2:44                                                       ` Zhu Yi
2007-06-14 11:48                                                         ` jamal
2007-06-15  1:27                                                           ` Zhu Yi
2007-06-15 10:49                                                             ` jamal
2007-06-18  1:18                                                               ` Zhu Yi
2007-06-18 15:16                                                                 ` jamal
2007-06-19  2:12                                                                   ` Zhu Yi
2007-06-19 16:04                                                                     ` jamal
2007-06-20  5:51                                                                       ` Zhu Yi
2007-06-21 15:39                                                                         ` jamal
2007-06-22  1:26                                                                           ` Zhu Yi
2007-06-25 16:47                                                                             ` jamal
2007-06-25 20:47                                                                               ` David Miller
2007-06-26 13:27                                                                                 ` jamal
2007-06-26 20:57                                                                                   ` David Miller
2007-06-27 22:32                                                                                     ` jamal
2007-06-27 22:54                                                                                       ` David Miller
2007-06-28  0:15                                                                                         ` jamal
2007-06-28  0:31                                                                                           ` David Miller
2007-06-12  9:19                 ` Johannes Berg
2007-06-12 12:17                   ` jamal
2007-06-11 17:36   ` Patrick McHardy
2007-06-11 18:05     ` Waskiewicz Jr, Peter P
2007-06-11 18:07       ` Patrick McHardy
2007-06-13 18:34     ` Waskiewicz Jr, Peter P
2007-06-11 17:52   ` Patrick McHardy
2007-06-11 17:57     ` Waskiewicz Jr, Peter P
2007-06-11 18:05       ` Patrick McHardy
2007-06-11 18:15         ` Waskiewicz Jr, Peter P
2007-06-11 18:24           ` Patrick McHardy

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=466F144A.3070809@candelatech.com \
    --to=greearb@candelatech.com \
    --cc=auke-jan.h.kok@intel.com \
    --cc=davem@davemloft.net \
    --cc=hadi@cyberus.ca \
    --cc=jeff@garzik.org \
    --cc=kaber@trash.net \
    --cc=netdev@vger.kernel.org \
    --cc=peter.p.waskiewicz.jr@intel.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).