On Wed, Feb 7, 2024 at 5:33 AM Barret Rhoden <brho@xxxxxxxxxx> wrote: > > > if i knew userspace wasn't going to follow pointers, NO_USER_CONV would > both be a speedup and make it so i don't have to worry about mmapping to > the same virtual address in every process that shares the arena map. > though this latter feature isn't in the code. right now you have to > have it mmapped at the same user_va in all address spaces. that's not a > huge deal for me either way. Not quite. With: struct { __uint(type, BPF_MAP_TYPE_ARENA); ... __ulong(map_extra, 2ull << 44); /* start of mmap() region */ ... } arena SEC(".maps"); the future user_vm_start will be specified at map creation time, so arena doesn't have to be mapped to be usable. But having an address known early helps potential future mmap-s. Like to examine the state of the arena with bpftool.