Re: [PATCH bpf-next 0/3] A couple of small refactorings of BPF program call sites

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 19 Aug 2022 at 00:29, <sdf@xxxxxxxxxx> wrote:
>
> On 08/18, Toke H�iland-J�rgensen wrote:
> > Stanislav suggested[0] that these small refactorings could be split out
> > from the
> > XDP queueing RFC series and merged separately. The first change is a small
> > repacking of struct softnet_data, the others change the BPF call sites to
> > support full 64-bit values as arguments to bpf_redirect_map() and as the
> > return
> > value of a BPF program, relying on the fact that BPF registers are always
> > 64-bit
> > wide to maintain backwards compatibility.
>
> > Please see the individual patches for details.
>
> > [0]
> > https://lore.kernel.org/r/CAKH8qBtdnku7StcQ-SamadvAF==DRuLLZO94yOR1WJ9Bg=uX1w@xxxxxxxxxxxxxx
>
> Looks like a nice cleanup to me:
> Reviewed-by: Stanislav Fomichev <sdf@xxxxxxxxxx>
>
> Can you share more on this comment?
>
> /* For some architectures, we need to do modulus in 32-bit width */
>
> Some - which ones? And why do they need it to be 32-bit?

It was a fix for i386, I saw a kernel test robot error when it was
sitting in Toke's tree.
See https://lore.kernel.org/all/202203140800.8pr81INh-lkp@xxxxxxxxx.

Once bpf_prog_run_clear_cb starts returning a 64-bit value, we now
need to save it in 32-bit before doing the modulus.

>
> > Kumar Kartikeya Dwivedi (1):
> >    bpf: Use 64-bit return value for bpf_prog_run
>
> > Toke H�iland-J�rgensen (2):
> >    dev: Move received_rps counter next to RPS members in softnet data
> >    bpf: Expand map key argument of bpf_redirect_map to u64
>
> >   include/linux/bpf-cgroup.h | 12 +++++-----
> >   include/linux/bpf.h        | 16 ++++++-------
> >   include/linux/filter.h     | 46 +++++++++++++++++++-------------------
> >   include/linux/netdevice.h  |  2 +-
> >   include/uapi/linux/bpf.h   |  2 +-
> >   kernel/bpf/cgroup.c        | 12 +++++-----
> >   kernel/bpf/core.c          | 14 ++++++------
> >   kernel/bpf/cpumap.c        |  4 ++--
> >   kernel/bpf/devmap.c        |  4 ++--
> >   kernel/bpf/offload.c       |  4 ++--
> >   kernel/bpf/verifier.c      |  2 +-
> >   net/bpf/test_run.c         | 21 +++++++++--------
> >   net/core/filter.c          |  4 ++--
> >   net/packet/af_packet.c     |  7 ++++--
> >   net/xdp/xskmap.c           |  4 ++--
> >   15 files changed, 80 insertions(+), 74 deletions(-)
>
> > --
> > 2.37.2
>




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux