Merge branch 'net-mlx5-use-indirect-call-wrappers'
authorDavid S. Miller <davem@davemloft.net>
Fri, 14 Jun 2019 22:35:18 +0000 (15:35 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 Jun 2019 22:35:18 +0000 (15:35 -0700)
commiteea9e3a40dbc15a4b03b447158c2555079875ba5
tree821f090c2965bc686322532b016f9330556d5acb
parentd96ec97511149b447712a5a401b290913cbd4426
parent55f968726e14ced7558fd4cb229fcc6b12d7f788
Merge branch 'net-mlx5-use-indirect-call-wrappers'

Paolo Abeni says:

====================
net/mlx5: use indirect call wrappers

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.

v2 -> v3:
 - do not add more INDIRECT_CALL_* macros
 - use only the direct calls always available regardless of
   the mlx5 build options in the last patch

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)
====================

Signed-off-by: David S. Miller <davem@davemloft.net>