From: Simon Horman <horms@kernel.org>
To: Petr Machata <petrm@nvidia.com>
Cc: "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
netdev@vger.kernel.org, Ido Schimmel <idosch@nvidia.com>,
Amit Cohen <amcohen@nvidia.com>,
mlxsw@nvidia.com
Subject: Re: [PATCH net-next 12/15] mlxsw: pci: Break mlxsw_pci_cq_tasklet() into tasklets per queue type
Date: Wed, 3 Apr 2024 13:40:10 +0100 [thread overview]
Message-ID: <20240403124010.GH26556@kernel.org> (raw)
In-Reply-To: <50fbc366f8de54cb5dc72a7c4f394333ef71f1d0.1712062203.git.petrm@nvidia.com>
On Tue, Apr 02, 2024 at 03:54:25PM +0200, Petr Machata wrote:
> From: Amit Cohen <amcohen@nvidia.com>
>
> Completion queues are used for completions of RDQ or SDQ. Each
> completion queue is used for one DQ. The first CQs are used for SDQs and
> the rest are used for RDQs.
>
> Currently, for each CQE (completion queue element), we check 'sr' value
> (send/receive) to know if it is completion of RDQ or SDQ. Actually, we
> do not really have to check it, as according to the queue number we know
> if it handles completions of Rx or Tx.
>
> Break the tasklet into two - one for Rx (RDQ) and one for Tx (SDQ). Then,
> setup the appropriate tasklet for each queue as part of queue
> initialization. Use 'sr' value for unlikely case that we get completion
> with type that we do not expect. Call WARN_ON_ONCE() only after checking
> the value, to avoid calling this method for each completion.
>
> A next patch set will use NAPI to handle events, then we will have a
> separate poll method for Rx and Tx. This change is a preparation for
> NAPI usage.
>
> Signed-off-by: Amit Cohen <amcohen@nvidia.com>
> Reviewed-by: Ido Schimmel <idosch@nvidia.com>
> Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
next prev parent reply other threads:[~2024-04-03 12:40 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-02 13:54 [PATCH net-next 00/15] mlxsw: Preparations for improving performance Petr Machata
2024-04-02 13:54 ` [PATCH net-next 01/15] mlxsw: pci: Move mlxsw_pci_eq_{init, fini}() Petr Machata
2024-04-03 12:36 ` Simon Horman
2024-04-02 13:54 ` [PATCH net-next 02/15] mlxsw: pci: Move mlxsw_pci_cq_{init, fini}() Petr Machata
2024-04-03 12:37 ` Simon Horman
2024-04-02 13:54 ` [PATCH net-next 03/15] mlxsw: pci: Do not setup tasklet from operation Petr Machata
2024-04-03 12:37 ` Simon Horman
2024-04-02 13:54 ` [PATCH net-next 04/15] mlxsw: pci: Arm CQ doorbell regardless of number of completions Petr Machata
2024-04-03 12:37 ` Simon Horman
2024-04-02 13:54 ` [PATCH net-next 05/15] mlxsw: pci: Remove unused counters Petr Machata
2024-04-03 12:38 ` Simon Horman
2024-04-02 13:54 ` [PATCH net-next 06/15] mlxsw: pci: Make style changes in mlxsw_pci_eq_tasklet() Petr Machata
2024-04-03 12:38 ` Simon Horman
2024-04-02 13:54 ` [PATCH net-next 07/15] mlxsw: pci: Poll command interface for each cmd_exec() Petr Machata
2024-04-03 12:38 ` Simon Horman
2024-04-02 13:54 ` [PATCH net-next 08/15] mlxsw: pci: Rename MLXSW_PCI_EQS_COUNT Petr Machata
2024-04-03 12:39 ` Simon Horman
2024-04-02 13:54 ` [PATCH net-next 09/15] mlxsw: pci: Use only one event queue Petr Machata
2024-04-03 12:39 ` Simon Horman
2024-04-02 13:54 ` [PATCH net-next 10/15] mlxsw: pci: Remove unused wait queue Petr Machata
2024-04-03 12:39 ` Simon Horman
2024-04-02 13:54 ` [PATCH net-next 11/15] mlxsw: pci: Make style change in mlxsw_pci_cq_tasklet() Petr Machata
2024-04-03 12:39 ` Simon Horman
2024-04-02 13:54 ` [PATCH net-next 12/15] mlxsw: pci: Break mlxsw_pci_cq_tasklet() into tasklets per queue type Petr Machata
2024-04-03 12:40 ` Simon Horman [this message]
2024-04-02 13:54 ` [PATCH net-next 13/15] mlxsw: pci: Remove mlxsw_pci_sdq_count() Petr Machata
2024-04-03 12:40 ` Simon Horman
2024-04-02 13:54 ` [PATCH net-next 14/15] mlxsw: pci: Remove mlxsw_pci_cq_count() Petr Machata
2024-04-03 12:40 ` Simon Horman
2024-04-02 13:54 ` [PATCH net-next 15/15] mlxsw: pci: Store DQ pointer as part of CQ structure Petr Machata
2024-04-03 12:40 ` Simon Horman
2024-04-04 3:50 ` [PATCH net-next 00/15] mlxsw: Preparations for improving performance patchwork-bot+netdevbpf
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=20240403124010.GH26556@kernel.org \
--to=horms@kernel.org \
--cc=amcohen@nvidia.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=idosch@nvidia.com \
--cc=kuba@kernel.org \
--cc=mlxsw@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=petrm@nvidia.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.