On Mon, Apr 1, 2024 at 7:13 PM Andrii Nakryiko <andrii@xxxxxxxxxx> wrote: > > Add a new BPF instruction for resolving per-CPU memory addresses. > > New instruction is a special form of BPF_ALU64 | BPF_MOV | BPF_DW, with > insns->off set to BPF_ADDR_PERCPU (== -1). It resolves provided per-CPU offset > to an absolute address where per-CPU data resides for "this" CPU. Fixed the typo s/BPF_DW/BPF_X/ while applying. I'm still a bit worried that there is no BUILD_BUG_ON for 32-bit archs while both array and htab perpu gen_lookup assume sizeof(void*) == 8 in few places: htab: *insn++ = BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_0, 0); array: *insn++ = BPF_ALU64_IMM(BPF_LSH, BPF_REG_0, 3); *insn++ = BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_0, 0); Worth following up or I'm overthinking this?