From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Zijlstra Subject: Re: [PATCH v5 perf, bpf-next 3/7] perf, bpf: introduce PERF_RECORD_BPF_EVENT Date: Tue, 8 Jan 2019 20:59:23 +0100 Message-ID: <20190108195923.GD30894@hirez.programming.kicks-ass.net> References: <20181220182904.4193196-1-songliubraving@fb.com> <20181220182904.4193196-4-songliubraving@fb.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, acme@kernel.org, ast@kernel.org, daniel@iogearbox.net, kernel-team@fb.com To: Song Liu Return-path: Content-Disposition: inline In-Reply-To: <20181220182904.4193196-4-songliubraving@fb.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On Thu, Dec 20, 2018 at 10:29:00AM -0800, Song Liu wrote: > +static void perf_event_bpf_emit_ksymbols(struct bpf_prog *prog, > + enum perf_bpf_event_type type) > +{ > + bool unregister = type == PERF_BPF_EVENT_PROG_UNLOAD; > + int i; > + > + if (prog->aux->func_cnt == 0) { > + perf_event_ksymbol(PERF_RECORD_MISC_KSYMBOL_TYPE_BPF, > + (u64)(unsigned long)prog->bpf_func, > + prog->jited_len, unregister, > + perf_event_bpf_get_name, prog); > + } else { > + for (i = 0; i < prog->aux->func_cnt; i++) { > + struct bpf_prog *subprog = prog->aux->func[i]; > + > + perf_event_ksymbol( > + PERF_RECORD_MISC_KSYMBOL_TYPE_BPF, > + (u64)(unsigned long)subprog->bpf_func, > + subprog->jited_len, unregister, > + perf_event_bpf_get_name, subprog); > + } > + } > +} That's a bit unexpected, but yes sure, that works for now. I was expecting it to be hooked up in your kallsym rbtree thing, but whatever, we can fix that when needed.