Re: [net-next PATCH v3 02/10] net: Add queue and napi association
From: Nambiar, Amritha <hidden>
Date: 2023-09-28 23:12:52
On 9/28/2023 3:47 AM, Paolo Abeni wrote:
On Tue, 2023-09-19 at 15:27 -0700, Amritha Nambiar wrote:quoted
Add the napi pointer in netdev queue for tracking the napi instance for each queue. This achieves the queue<->napi mapping. Signed-off-by: Amritha Nambiar <redacted> Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com> --- include/linux/netdevice.h | 5 +++++ include/net/netdev_rx_queue.h | 2 ++ net/core/dev.c | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+)diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index db3d8429d50d..69e363918e4b 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h@@ -657,6 +657,8 @@ struct netdev_queue { unsigned long state; + /* NAPI instance for the queue */ + struct napi_struct *napi;This should be probably moved into the 'read-mostly' section, before the '_xmit_lock' field,
Agree. Will fix.
quoted
+/** + * netif_napi_add_queue - Associate queue with the napi + * @napi: NAPI context + * @queue_index: Index of queue + * @type: queue type as RX or TX + * + * Add queue with its corresponding napi context + */ +int netif_napi_add_queue(struct napi_struct *napi, unsigned int queue_index, + enum netdev_queue_type type)Very minor nit and others may have different opinion, but I feel like this function name is misleading, since at this point both the rx and tx queue should already exist. Perhaps 'netif_napi_link_queue' ?
Sounds right. Since, we are basically just setting the napi for the queue, and this function may probably be used by both 'queue-get' and 'queue-set' commands in future, does 'netif_queue_set_napi' suit better ?
Cheers, Paolo