On Thu, Mar 4, 2021 at 12:35 PM Yauheni Kaliuta <yauheni.kaliuta@xxxxxxxxxx> wrote: > > 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. Not at all a work around. ringbuf needs to have the size which is a multiple of 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 > ? yeah, here we'll need to pass actual page_size from the user-space using global variable > > There are such tests as well :) >