[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <adae6c73-183e-6854-33a1-f5a97efaa616@iogearbox.net>
Date: Fri, 4 May 2018 23:46:12 +0200
From: Daniel Borkmann <daniel@...earbox.net>
To: Jakub Kicinski <jakub.kicinski@...ronome.com>,
alexei.starovoitov@...il.com
Cc: oss-drivers@...ronome.com, netdev@...r.kernel.org
Subject: Re: [PATCH bpf-next 00/10] bpf: support offload of bpf_event_output()
On 05/04/2018 03:37 AM, Jakub Kicinski wrote:
> Hi!
>
> This series centres on NFP offload of bpf_event_output(). The
> first patch allows perf event arrays to be used by offloaded
> programs. Next patch makes the nfp driver keep track of such
> arrays to be able to filter FW events referring to maps.
> Perf event arrays are not device bound. Having driver
> reimplement and manage the perf array seems brittle and unnecessary.
>
> Patch 4 moves slightly the verifier step which replaces map fds
> with map pointers. This is useful for nfp JIT since we can then
> easily replace host pointers with NFP table ids (patch 6). This
> allows us to lift the limitation on map helpers having to be used
> with the same map pointer on all paths. Second use of replacing
> fds with real host map pointers is that we can use the host map
> pointer as a key for FW events in perf event array offload.
>
> Patch 5 adds perf event output offload support for the NFP.
>
> There are some differences between bpf_event_output() offloaded
> and non-offloaded version. The FW messages which carry events
> may get dropped and reordered relatively easily. The return codes
> from the helper are also not guaranteed to match the host. Users
> are warned about some of those discrepancies with a one time
> warning message to kernel logs.
>
> bpftool gains an ability to dump perf ring events in a very simple
> format. This was very useful for testing and simple debug, maybe
> it will be useful to others?
>
> Last patch is a trivial comment fix.
Nice approach, applied to bpf-next, thanks Jakub!
Powered by blists - more mailing lists