netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC net-next 0/8] net: dsa: Multi-queue awareness
@ 2017-08-31  0:18 Florian Fainelli
  2017-08-31  0:18 ` [RFC net-next 1/8] net: dsa: Allow switch drivers to indicate number of RX/TX queues Florian Fainelli
                   ` (8 more replies)
  0 siblings, 9 replies; 20+ messages in thread
From: Florian Fainelli @ 2017-08-31  0:18 UTC (permalink / raw)
  To: netdev
  Cc: jiri, jhs, davem, xiyou.wangcong, andrew, vivien.didelot,
	Florian Fainelli

This patch series is sent as reference, especially because the last patch
is trying not to be creating too many layer violations, but clearly there
are a little bit being created here anyways.

Essentially what I am trying to achieve is that you have a stacked device which
is multi-queue aware, that applications will be using, and for which they can
control the queue selection (using mq) the way they want. Each of each stacked
network devices are created for each port of the switch (this is what DSA
does). When a skb is submitted from say net_device X, we can derive its port
number and look at the queue_mapping value to determine which port of the
switch and queue we should be sending this to. The information is embedded in a
tag (4 bytes) and is used by the switch to steer the transmission.

These stacked devices will actually transmit using a "master" or conduit
network device which has a number of queues as well. In one version of the
hardware that I work with, we have up to 4 ports, each with 8 queues, and the
master device has a total of 32 hardware queues, so a 1:1 mapping is easy. With
another version of the hardware, same number of ports and queues, but only 16
hardware queues, so only a 2:1 mapping is possible.

In order for congestion information to work properly, I need to establish a
mapping, preferably before transmission starts (but reconfiguration while
interfaces are running would be possible too) between these stacked device's
queue and the conduit interface's queue.

Comments, flames, rotten tomatoes, anything!

Florian Fainelli (8):
  net: dsa: Allow switch drivers to indicate number of RX/TX queues
  net: dsa: tag_brcm: Set output queue from skb queue mapping
  net: dsa: bcm_sf2: Advertise number of egress queues
  net: dsa: bcm_sf2: Configure IMP port TC2QOS mapping
  net: dsa: bcm_sf2: Fix number of CFP entries for BCM7278
  net: dsa: Expose dsa_slave_dev_check and dsa_slave_dev_port_num
  net: dsa: tag_brcm: Indicate to master netdevice port + queue
  net: systemport: Establish DSA network device queue mapping

 drivers/net/dsa/bcm_sf2.c                  |  16 +++++
 drivers/net/dsa/bcm_sf2.h                  |   1 +
 drivers/net/dsa/bcm_sf2_cfp.c              |   8 +--
 drivers/net/ethernet/broadcom/bcmsysport.c | 100 +++++++++++++++++++++++++++--
 drivers/net/ethernet/broadcom/bcmsysport.h |  11 +++-
 include/net/dsa.h                          |  19 ++++++
 net/dsa/slave.c                            |  22 +++++--
 net/dsa/tag_brcm.c                         |   8 ++-
 8 files changed, 170 insertions(+), 15 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2017-09-01 19:44 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-31  0:18 [RFC net-next 0/8] net: dsa: Multi-queue awareness Florian Fainelli
2017-08-31  0:18 ` [RFC net-next 1/8] net: dsa: Allow switch drivers to indicate number of RX/TX queues Florian Fainelli
2017-08-31 23:44   ` Andrew Lunn
2017-09-01  4:00     ` Florian Fainelli
2017-08-31  0:18 ` [RFC net-next 2/8] net: dsa: tag_brcm: Set output queue from skb queue mapping Florian Fainelli
2017-08-31  0:18 ` [RFC net-next 3/8] net: dsa: bcm_sf2: Advertise number of egress queues Florian Fainelli
2017-08-31  0:18 ` [RFC net-next 4/8] net: dsa: bcm_sf2: Configure IMP port TC2QOS mapping Florian Fainelli
2017-08-31  0:18 ` [RFC net-next 5/8] net: dsa: bcm_sf2: Fix number of CFP entries for BCM7278 Florian Fainelli
2017-08-31  0:18 ` [RFC net-next 6/8] net: dsa: Expose dsa_slave_dev_check and dsa_slave_dev_port_num Florian Fainelli
2017-08-31  0:18 ` [RFC net-next 7/8] net: dsa: tag_brcm: Indicate to master netdevice port + queue Florian Fainelli
2017-08-31  0:18 ` [RFC net-next 8/8] net: systemport: Establish DSA network device queue mapping Florian Fainelli
2017-09-01  0:05 ` [RFC net-next 0/8] net: dsa: Multi-queue awareness Andrew Lunn
2017-09-01  4:10   ` Florian Fainelli
2017-09-01 13:29     ` Andrew Lunn
2017-09-01 16:46       ` Florian Fainelli
2017-09-01 17:55         ` Andrew Lunn
2017-09-01 18:27           ` Florian Fainelli
2017-09-01 18:50             ` Andrew Lunn
2017-09-01 19:21               ` Florian Fainelli
2017-09-01 19:44                 ` Andrew Lunn

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).