All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/3] net/mlx5: use indirect call wrappers
@ 2019-06-06 21:56 Paolo Abeni
  2019-06-06 21:56 ` [PATCH net-next v2 1/3] net/mlx5e: use indirect calls wrapper for skb allocation Paolo Abeni
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Paolo Abeni @ 2019-06-06 21:56 UTC (permalink / raw)
  To: netdev; +Cc: David S. Miller, Saeed Mahameed, Leon Romanovsky

The mlx5_core driver uses several indirect calls in fast-path, some of them
are invoked on each ingress packet, even for the XDP-only traffic.

This series leverage the indirect call wrappers infrastructure the avoid
the expansive RETPOLINE overhead for 2 indirect calls in fast-path.

Each call is addressed on a different patch, plus we need to introduce a couple
of additional helpers to cope with the higher number of possible direct-call
alternatives.

v1 - v2:
 - update the direct call list and use a macro to define it,
   as per Saeed suggestion. An intermediated additional
   macro is needed to allow arg list expansion
 - patch 2/3 is unchanged, as the generated code looks better this way than
   with possible alternative (dropping BP hits)

Paolo Abeni (3):
  net/mlx5e: use indirect calls wrapper for skb allocation
  indirect call wrappers: add helpers for 3 and 4 ways switch
  net/mlx5e: use indirect calls wrapper for the rx packet handler

 drivers/net/ethernet/mellanox/mlx5/core/en.h  |  4 +++
 .../net/ethernet/mellanox/mlx5/core/en_rx.c   | 27 ++++++++++++++-----
 include/linux/indirect_call_wrapper.h         | 12 +++++++++
 3 files changed, 37 insertions(+), 6 deletions(-)

-- 
2.20.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-06-10 22:20 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-06 21:56 [PATCH net-next v2 0/3] net/mlx5: use indirect call wrappers Paolo Abeni
2019-06-06 21:56 ` [PATCH net-next v2 1/3] net/mlx5e: use indirect calls wrapper for skb allocation Paolo Abeni
2019-06-06 21:56 ` [PATCH net-next v2 2/3] indirect call wrappers: add helpers for 3 and 4 ways switch Paolo Abeni
2019-06-06 21:56 ` [PATCH net-next v2 3/3] net/mlx5e: use indirect calls wrapper for the rx packet handler Paolo Abeni
2019-06-07 18:09   ` Saeed Mahameed
2019-06-10  8:43     ` Paolo Abeni
2019-06-10 22:20       ` Saeed Mahameed

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.