Re: [PATCH bpf-next 0/6] nfp: bpf: improve efficiency of offloaded perf events

2018-07-26 Thread Daniel Borkmann
On 07/26/2018 04:53 AM, Jakub Kicinski wrote:
> Hi!
> 
> This set is focused on improving the performance of perf events
> reported from BPF offload.  Perf events can now be received on
> packet data queues, which significantly improves the performance
> (from total of 0.5 Msps to 5Msps per core).  To get to this
> performance we need a fast path for control messages which will
> operate on raw buffers and recycle them immediately.
> 
> Patch 5 replaces the map pointers for perf maps with map IDs.
> We look the pointers up in a hashtable, anyway, to validate they
> are correct, so there is no performance difference.  Map IDs
> have the advantage of being easier to understand for users in
> case of errors (we no longer print raw pointers to the logs).
> 
> Last patch improves info messages about map offload.
> 
> Jakub Kicinski (6):
>   nfp: move repr handling on RX path
>   nfp: allow control message reception on data queues
>   nfp: bpf: pass raw data buffer to nfp_bpf_event_output()
>   nfp: bpf: allow receiving perf events on data queues
>   nfp: bpf: remember maps by ID
>   nfp: bpf: improve map offload info messages
> 
>  drivers/net/ethernet/netronome/nfp/bpf/cmsg.c | 25 +++-
>  drivers/net/ethernet/netronome/nfp/bpf/jit.c  | 12 ++--
>  drivers/net/ethernet/netronome/nfp/bpf/main.c |  5 +-
>  drivers/net/ethernet/netronome/nfp/bpf/main.h |  9 ++-
>  .../net/ethernet/netronome/nfp/bpf/offload.c  | 63 +++
>  drivers/net/ethernet/netronome/nfp/nfp_app.c  |  2 +
>  drivers/net/ethernet/netronome/nfp/nfp_app.h  | 17 +
>  .../ethernet/netronome/nfp/nfp_net_common.c   | 40 +++-
>  .../net/ethernet/netronome/nfp/nfp_net_ctrl.h |  1 +
>  9 files changed, 125 insertions(+), 49 deletions(-)
> 

Applied to bpf-next, thanks Jakub!


[PATCH bpf-next 0/6] nfp: bpf: improve efficiency of offloaded perf events

2018-07-25 Thread Jakub Kicinski
Hi!

This set is focused on improving the performance of perf events
reported from BPF offload.  Perf events can now be received on
packet data queues, which significantly improves the performance
(from total of 0.5 Msps to 5Msps per core).  To get to this
performance we need a fast path for control messages which will
operate on raw buffers and recycle them immediately.

Patch 5 replaces the map pointers for perf maps with map IDs.
We look the pointers up in a hashtable, anyway, to validate they
are correct, so there is no performance difference.  Map IDs
have the advantage of being easier to understand for users in
case of errors (we no longer print raw pointers to the logs).

Last patch improves info messages about map offload.

Jakub Kicinski (6):
  nfp: move repr handling on RX path
  nfp: allow control message reception on data queues
  nfp: bpf: pass raw data buffer to nfp_bpf_event_output()
  nfp: bpf: allow receiving perf events on data queues
  nfp: bpf: remember maps by ID
  nfp: bpf: improve map offload info messages

 drivers/net/ethernet/netronome/nfp/bpf/cmsg.c | 25 +++-
 drivers/net/ethernet/netronome/nfp/bpf/jit.c  | 12 ++--
 drivers/net/ethernet/netronome/nfp/bpf/main.c |  5 +-
 drivers/net/ethernet/netronome/nfp/bpf/main.h |  9 ++-
 .../net/ethernet/netronome/nfp/bpf/offload.c  | 63 +++
 drivers/net/ethernet/netronome/nfp/nfp_app.c  |  2 +
 drivers/net/ethernet/netronome/nfp/nfp_app.h  | 17 +
 .../ethernet/netronome/nfp/nfp_net_common.c   | 40 +++-
 .../net/ethernet/netronome/nfp/nfp_net_ctrl.h |  1 +
 9 files changed, 125 insertions(+), 49 deletions(-)

-- 
2.17.1