On Wed, Sep 8, 2021 at 11:15 AM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Wed, 8 Sep 2021 11:02:58 -0700 Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > > > Please describe the expected userspace-visible change from Peter's > > > patch in full detail? > > > > User space expects build_id to be available. Peter patch simply removes > > that feature. > > Are you sure? He ends up with More than sure :) Just look at below. > static void stack_map_get_build_id_offset(struct bpf_stack_build_id *id_offs, > u64 *ips, u32 trace_nr, bool user) > { > int i; > > /* cannot access current->mm, fall back to ips */ > for (i = 0; i < trace_nr; i++) { > id_offs[i].status = BPF_STACK_BUILD_ID_IP; > id_offs[i].ip = ips[i]; > memset(id_offs[i].build_id, 0, BUILD_ID_SIZE_MAX); > } > return; > } > > and you're saying that userspace won't like this because we didn't set > BPF_STACK_BUILD_ID_VALID? The patch forces the "fallback path" that in production is seen 0.001% Meaning that user space doesn't see build_id any more. It sees IPs only. The user space cannot correlate IPs to binaries. That's what build_id enabled.