Message ID | 20180504013717.29317-1-jakub.kicinski@netronome.com |
---|---|
Headers | show |
Series | bpf: support offload of bpf_event_output() | expand |
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!