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
next prev 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.