Re: [PATCH v3] Add BPF_SYNCHRONIZE_MAP_TO_MAP_REFERENCES bpf(2) command
From: Jakub Kicinski <hidden>
Date: 2018-07-31 00:26:49
Also in:
lkml
On Mon, 30 Jul 2018 03:25:43 -0700, Daniel Colascione wrote:
On Mon, Jul 30, 2018 at 3:04 AM, Daniel Borkmann [off-list ref] wrote:quoted
Hmm, I don't think such UAPI as above is future-proof. In case we would want a similar mechanism in future for other maps, we would need a whole new bpf command or reuse BPF_SYNCHRONIZE_MAP_TO_MAP_REFERENCES as a workaround though the underlying map may not even be a map-to-map. Additionally, we don't have any map object at hand in the above, so we couldn't make any finer grained decisions either. Something like below would be more suitable and leaves room for extending this further in future.YAGNI. Your proposed mechanism doesn't add anything under the current implementation.
FWIW in case of HW offload targeting a particular map may allow users to avoid a potentially slow sync with all the devices on the system.
It's also not clear how a map-specific synchronization command is supposed to work in cases where we swap multiple map references. Do we synchronize_rcu multiple times? Why would we impose that inefficiency just for the sake of some non-specific future extensibility? Add some kind of batching layer? The current approach works for the anticipated use cases. While my preference is not to talk about map-to-maps at all in the user API and instead spec the thing as talking about map references in general, I'd rather have something that talks about references-to-maps-acquired-from-maps than this interface.