All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Lemon <jonathan.lemon@gmail.com>
To: Tom Herbert <tom@herbertland.com>
Cc: netdev@vger.kernel.org
Subject: Re: [RFC PATCH 07/11] net: Introduce global queues
Date: Tue, 30 Jun 2020 14:06:25 -0700	[thread overview]
Message-ID: <20200630210625.ytur4nwzrekhazvi@bsd-mbp.dhcp.thefacebook.com> (raw)
In-Reply-To: <20200624171749.11927-8-tom@herbertland.com>

On Wed, Jun 24, 2020 at 10:17:46AM -0700, Tom Herbert wrote:
> Global queues, or gqids, are an abstract representation of NIC
> device queues. They are global in the sense that the each gqid
> can be map to a queue in each device, i.e. if there are multiple
> devices in the system, a gqid can map to a different queue, a dqid,
> in each device in a one to many mapping.  gqids are used for
> configuring packet steering on both send and receive in a generic
> way not bound to a particular device.
> 
> Each transmit or receive device queue may be reversed mapped to
> one gqid. Each device maintains a table mapping gqids to local
> device queues, those tables are used in the data path to convert
> a gqid receive or transmit queue into a device queue relative to
> the sending or receiving device.

I'm confused by this word salad, can it be simplified?

So a RX device queue maps to one global queue, implying that there's a
one way relationship here.  But at the same time, the second sentence
implies each device can map a global RX queue to a device queue.

This would logically mean that for a given device, there's a 1:1
relationship between global and device queue, and the only 'one-to-many'
portion is coming from mapping global queues across different devices.

How would I do this:
    given device eth0
    create new RSS context 200
    create RX queues 800, 801, added to RSS context 200
    create global RX queue for context 200 
    attach 4 sockets to context 200

I'm assuming that each socket ends up being flow-assigned to one of the
underlying device queues (800 or 801), correct?
-- 
Jonathan

  parent reply	other threads:[~2020-06-30 21:06 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-24 17:17 [RFC PATCH 00/11] ptq: Per Thread Queues Tom Herbert
2020-06-24 17:17 ` [RFC PATCH 01/11] cgroup: Export cgroup_{procs,threads}_start and cgroup_procs_next Tom Herbert
2020-06-24 17:17 ` [RFC PATCH 02/11] net: Create netqueue.h and define NO_QUEUE Tom Herbert
2020-06-24 17:17 ` [RFC PATCH 03/11] arfs: Create set_arfs_queue Tom Herbert
2020-06-24 17:17 ` [RFC PATCH 04/11] net-sysfs: Create rps_create_sock_flow_table Tom Herbert
2020-06-24 17:17 ` [RFC PATCH 05/11] net: Infrastructure for per queue aRFS Tom Herbert
2020-06-28  8:55   ` kernel test robot
2020-06-24 17:17 ` [RFC PATCH 06/11] net: Function to check against maximum number for RPS queues Tom Herbert
2020-06-24 17:17 ` [RFC PATCH 07/11] net: Introduce global queues Tom Herbert
2020-06-24 23:00   ` kernel test robot
2020-06-24 23:58   ` kernel test robot
2020-06-25  0:23   ` kernel test robot
2020-06-30 21:06   ` Jonathan Lemon [this message]
2020-06-24 17:17 ` [RFC PATCH 08/11] ptq: Per Thread Queues Tom Herbert
2020-06-24 21:20   ` kernel test robot
2020-06-25  1:50   ` [RFC PATCH] ptq: null_pcdesc can be static kernel test robot
2020-06-25  7:26   ` [RFC PATCH 08/11] ptq: Per Thread Queues kernel test robot
2020-06-24 17:17 ` [RFC PATCH 09/11] ptq: Hook up transmit side of Per Queue Threads Tom Herbert
2020-06-24 17:17 ` [RFC PATCH 10/11] ptq: Hook up receive " Tom Herbert
2020-06-24 17:17 ` [RFC PATCH 11/11] doc: Documentation for Per Thread Queues Tom Herbert
2020-06-25  2:20   ` kernel test robot
2020-06-25 23:00   ` Jacob Keller
2020-06-29  6:28   ` Saeed Mahameed
2020-06-29 15:10     ` Tom Herbert

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=20200630210625.ytur4nwzrekhazvi@bsd-mbp.dhcp.thefacebook.com \
    --to=jonathan.lemon@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=tom@herbertland.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.