Hi! On Wed, Mar 3, 2021 at 7:30 PM Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> wrote: > > On Wed, Mar 3, 2021 at 2:40 AM Yauheni Kaliuta > <yauheni.kaliuta@xxxxxxxxxx> wrote: > > > > Hi! > > > > On Tue, Mar 2, 2021 at 7:08 AM Andrii Nakryiko > > <andrii.nakryiko@xxxxxxxxx> wrote: > > > > > > On Mon, Mar 1, 2021 at 1:02 AM Yauheni Kaliuta > > > <yauheni.kaliuta@xxxxxxxxxx> wrote: > > > > > > > Bunch of bpf selftests actually depends of page size and has it > > > > hardcoded to 4K. That causes failures if page shift is configured > > > > to values other than 12. It looks as a known issue since for the > > > > userspace parts sysconf(_SC_PAGE_SIZE) is used, but what would be > > > > the correct way to export it to bpf programs? > > > > > > > > > > Given PAGE_SIZE and PAGE_SHIFT are just #defines, the only way seems > > > to be to pass it from the user-space as a read-only variable. > > > > Compile-time? Just to make sure we are on the same page, the tests may look like > > https://github.com/torvalds/linux/blob/master/tools/testing/selftests/bpf/progs/map_ptr_kern.c#L638 > > > > Oh, if it's about ringbuf, then why not just bump its size to 64KB or > something even bigger. It will work for me in this, but sounds as workaround since the value depends of actual page size. > > I thought that you were referring to some BPF code that needs to do some calculations based on PAGE_SIZE in runtime. Do you mean, like that https://github.com/torvalds/linux/blob/master/tools/testing/selftests/bpf/progs/sockopt_sk.c#L12 ? There are such tests as well :)