[PATCH bpf-next v5 1/6] bpf: Introduce load-acquire and store-release instructions

Peilin Ye yepeilin at google.com
Mon Mar 3 16:39:48 PST 2025


Hi Alexei,

On Mon, Mar 03, 2025 at 04:24:12PM -0800, Alexei Starovoitov wrote:
> >         switch (insn->imm) {
> > @@ -7780,6 +7813,24 @@ static int check_atomic(struct bpf_verifier_env *env, struct bpf_insn *insn)
> >         case BPF_XCHG:
> >         case BPF_CMPXCHG:
> >                 return check_atomic_rmw(env, insn);
> > +       case BPF_LOAD_ACQ:
> > +#ifndef CONFIG_64BIT
> > +               if (BPF_SIZE(insn->code) == BPF_DW) {
> > +                       verbose(env,
> > +                               "64-bit load-acquires are only supported on 64-bit arches\n");
> > +                       return -EOPNOTSUPP;
> > +               }
> > +#endif
> 
> Your earlier proposal of:
> if (BPF_SIZE(insn->code) == BPF_DW && BITS_PER_LONG != 64) {
> 
> was cleaner.
> Why did you pick ifndef ?

Likely overthinking, but I wanted to avoid this check at all for 64-bit
arches, so it's just a little bit faster.  Should I change it back to
checking BITS_PER_LONG ?

Thanks,
Peilin Ye




More information about the linux-arm-kernel mailing list