On Tue, Feb 13, 2024 at 4:16 PM Eduard Zingerman <eddyz87@xxxxxxxxx> wrote: > > On Tue, 2024-02-13 at 16:09 -0800, Andrii Nakryiko wrote: > [...] > > > The "fake" bpf_map for __arena_internal is user-visible and requires > > autocreate=false tricks, etc. I feel like it's a worse tradeoff from a > > user API perspective than a few extra ARENA-specific internal checks > > (which we already have a few anyways, ARENA is not completely > > transparent internally anyways). > > By user-visible you mean when doing "bpf_object__for_each_map()", right? > Shouldn't users ignore bpf_map__is_internal() maps? no, not really, they are valid maps, and you can bpf_map__set_value_size() on them (for example). Similarly for bpf_map__initial_value(). And here it will be interesting that before load you should use bpf_map__initial_value(__arena_internal) if you want to tune something, and after load it will be bpf_map__initial_value(real_arena). While if we combine them, it actually will work more naturally. > But I agree that having one map might be a bit cleaner. +1