From: Jakub Kicinski <kuba@kernel.org>
To: "Nambiar, Amritha" <amritha.nambiar@intel.com>
Cc: <netdev@vger.kernel.org>, <davem@davemloft.net>,
<sridhar.samudrala@intel.com>
Subject: Re: [net-next/RFC PATCH v1 1/4] net: Introduce new napi fields for rx/tx queues
Date: Wed, 12 Jul 2023 14:14:42 -0700 [thread overview]
Message-ID: <20230712141442.44989fa7@kernel.org> (raw)
In-Reply-To: <717fbdd6-9ef7-3ad6-0c29-d0f3798ced8e@intel.com>
On Wed, 12 Jul 2023 13:09:35 -0700 Nambiar, Amritha wrote:
> On 6/2/2023 11:06 PM, Jakub Kicinski wrote:
> > On Thu, 01 Jun 2023 10:42:25 -0700 Amritha Nambiar wrote:
> >> Introduce new napi fields 'napi_rxq_list' and 'napi_txq_list'
> >> for rx and tx queue set associated with the napi and
> >> initialize them. Handle their removal as well.
> >>
> >> This enables a mapping of each napi instance with the
> >> queue/queue-set on the corresponding irq line.
> >
> > Wouldn't it be easier to store the NAPI instance pointer in the queue?
> > That way we don't have to allocate memory.
> >
>
> Could you please elaborate on this so I have more clarity ?
First off, let's acknowledge the fact you're asking me for
clarifications ~40 days after I sent the feedback.
Pause for self-reflection.
Okay.
> Are you suggesting that there's a way to avoid maintaining the list
> of queues in the napi struct?
Yes, why not add the napi pointer to struct netdev_queue and
netdev_rx_queue, specifically?
> The idea was for netdev-genl to extract information out of
> netdev->napi_list->napi. For tracking queues, we build a linked list
> of queues for the napi and store it in the napi_struct. This would
> also enable updating the napi<->queue[s] association (later with the
> 'set' command), i.e. remove the queue[s] from the existing napi
> instance that it is currently associated with and map with the new
> napi instance, by simply deleting from one list and adding to the new
> list.
Right, my point is that each queue can only be serviced by a single
NAPI at a time, so we have a 1:N relationship. It's easier to store
the state on the side that's the N, rather than 1.
You can add list_head to the queue structs, if you prefer to be able
to walk queues of a NAPI more efficiently (that said the head for
the list is in "control path only section" of napi_struct so...
I think you don't?)
next prev parent reply other threads:[~2023-07-12 21:14 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-01 17:42 [net-next/RFC PATCH v1 0/4] Introduce napi queues support Amritha Nambiar
2023-06-01 17:42 ` [net-next/RFC PATCH v1 1/4] net: Introduce new napi fields for rx/tx queues Amritha Nambiar
2023-06-03 6:06 ` Jakub Kicinski
2023-07-12 20:09 ` Nambiar, Amritha
2023-07-12 21:14 ` Jakub Kicinski [this message]
2023-07-12 23:11 ` Nambiar, Amritha
2023-07-12 23:53 ` Jakub Kicinski
2023-07-28 21:59 ` Jakub Kicinski
2023-07-28 22:37 ` Nambiar, Amritha
2023-07-28 23:09 ` Jakub Kicinski
2023-07-31 23:48 ` Nambiar, Amritha
2023-08-02 0:26 ` David Ahern
2023-08-02 0:50 ` Jakub Kicinski
2023-06-01 17:42 ` [net-next/RFC PATCH v1 2/4] net: Add support for associating napi with queue[s] Amritha Nambiar
2023-06-02 7:50 ` Dan Carpenter
2023-06-02 15:42 ` Simon Horman
2023-07-12 19:53 ` Nambiar, Amritha
2023-06-03 6:31 ` Paolo Abeni
2023-07-12 19:56 ` Nambiar, Amritha
2023-06-01 17:42 ` [net-next/RFC PATCH v1 3/4] netdev-genl: Introduce netdev dump ctx Amritha Nambiar
2023-06-01 17:42 ` [net-next/RFC PATCH v1 4/4] netdev-genl: Add support for exposing napi info from netdev Amritha Nambiar
2023-06-02 15:47 ` Simon Horman
2023-06-03 6:08 ` Jakub Kicinski
2023-07-12 20:05 ` Nambiar, Amritha
2023-07-12 19:54 ` Nambiar, Amritha
2023-06-03 6:17 ` Jakub Kicinski
2023-07-12 20:10 ` Nambiar, Amritha
2023-07-12 21:19 ` Jakub Kicinski
2023-06-03 6:00 ` [net-next/RFC PATCH v1 0/4] Introduce napi queues support Jakub Kicinski
2023-07-12 19:52 ` Nambiar, Amritha
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=20230712141442.44989fa7@kernel.org \
--to=kuba@kernel.org \
--cc=amritha.nambiar@intel.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=sridhar.samudrala@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 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.