netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Song Liu <songliubraving@fb.com>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	acme@kernel.org, ast@kernel.org, daniel@iogearbox.net,
	kernel-team@fb.com
Subject: Re: [PATCH v5 perf, bpf-next 1/7] perf, bpf: Introduce PERF_RECORD_KSYMBOL
Date: Tue, 8 Jan 2019 19:31:27 +0100	[thread overview]
Message-ID: <20190108183127.GB30894@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <20181220182904.4193196-2-songliubraving@fb.com>

On Thu, Dec 20, 2018 at 10:28:58AM -0800, Song Liu wrote:

> @@ -648,11 +649,18 @@ struct perf_event_mmap_page {
>   *   PERF_RECORD_MISC_COMM_EXEC  - PERF_RECORD_COMM event
>   *   PERF_RECORD_MISC_FORK_EXEC  - PERF_RECORD_FORK event (perf internal)
>   *   PERF_RECORD_MISC_SWITCH_OUT - PERF_RECORD_SWITCH* events
> + *   PERF_RECORD_MISC_KSYMBOL_*  - PERF_RECORD_KSYMBOL event
>   */
>  #define PERF_RECORD_MISC_MMAP_DATA		(1 << 13)
>  #define PERF_RECORD_MISC_COMM_EXEC		(1 << 13)
>  #define PERF_RECORD_MISC_FORK_EXEC		(1 << 13)
>  #define PERF_RECORD_MISC_SWITCH_OUT		(1 << 13)
> +
> +#define PERF_RECORD_MISC_KSYMBOL_UNREGISTER	(1 << 3)
> +#define PERF_RECORD_MISC_KSYMBOL_TYPE_MASK	(7 << 4)
> +#define PERF_RECORD_MISC_KSYMBOL_TYPE_UNKNOWN	(0 << 4)
> +#define PERF_RECORD_MISC_KSYMBOL_TYPE_BPF	(1 << 4)

So this gives us 8 possible types, of which 2 are claimed.

I suppose we already know of FTRACE_TRAMPOLINE and MODULE, which
accounts for half the space.

> +
>  /*
>   * These PERF_RECORD_MISC_* flags below are safely reused
>   * for the following events:
> @@ -965,6 +973,19 @@ enum perf_event_type {
>  	 */
>  	PERF_RECORD_NAMESPACES			= 16,
>  
> +	/*
> +	 * Record ksymbol register/unregister events:
> +	 *
> +	 * struct {
> +	 *	struct perf_event_header	header;
> +	 *	u64				addr;
> +	 *	u64				len;
> +	 *	char				name[];
> +	 *	struct sample_id		sample_id;
> +	 * };
> +	 */
> +	PERF_RECORD_KSYMBOL			= 17,

Do we really need u64 length? That is, are we willing to consider
symbols larger than 4G ?

Could we not reclaim the top 32 or 16 bits thereof for that type thing
instead of using a few misc bits?

  reply	other threads:[~2019-01-08 18:31 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-20 18:28 [PATCH v5 perf, bpf-next 0/7] reveal invisible bpf programs Song Liu
2018-12-20 18:28 ` [PATCH v5 perf, bpf-next 1/7] perf, bpf: Introduce PERF_RECORD_KSYMBOL Song Liu
2019-01-08 18:31   ` Peter Zijlstra [this message]
2019-01-08 18:56     ` Song Liu
2019-01-08 19:43       ` Peter Zijlstra
2018-12-20 18:28 ` [PATCH v5 perf, bpf-next 2/7] sync tools/include/uapi/linux/perf_event.h Song Liu
2018-12-20 18:29 ` [PATCH v5 perf, bpf-next 3/7] perf, bpf: introduce PERF_RECORD_BPF_EVENT Song Liu
2019-01-08 18:41   ` Peter Zijlstra
2019-01-08 19:10     ` Song Liu
2019-01-08 19:43       ` Peter Zijlstra
2019-01-08 23:54         ` Song Liu
2019-01-08 23:54           ` Song Liu
2019-01-09 10:18           ` Peter Zijlstra
2019-01-09 10:18             ` Peter Zijlstra
2019-01-09 11:32             ` Song Liu
2019-01-09 11:32               ` Song Liu
2019-01-09 12:59               ` Peter Zijlstra
2019-01-09 12:59                 ` Peter Zijlstra
2019-01-09 16:04                 ` Song Liu
2019-01-09 16:04                   ` Song Liu
2019-01-08 20:16       ` Arnaldo Carvalho de Melo
2019-01-08 23:37         ` Song Liu
2019-01-08 23:37           ` Song Liu
2019-01-08 20:56     ` Alexei Starovoitov
2019-01-08 20:56       ` Alexei Starovoitov
2019-01-08 19:59   ` Peter Zijlstra
2019-01-08 20:29   ` Peter Zijlstra
2019-01-08 20:45     ` Alexei Starovoitov
2019-01-08 20:45       ` Alexei Starovoitov
2019-01-09 12:41       ` Peter Zijlstra
2019-01-09 12:41         ` Peter Zijlstra
2019-01-09 15:51         ` Song Liu
2019-01-09 15:51           ` Song Liu
2018-12-20 18:29 ` [PATCH v5 perf, bpf-next 4/7] sync tools/include/uapi/linux/perf_event.h Song Liu
2018-12-20 18:29 ` [PATCH v5 perf, bpf-next 5/7] perf util: handle PERF_RECORD_KSYMBOL Song Liu
2018-12-20 18:29 ` [PATCH v5 perf, bpf-next 6/7] perf util: handle PERF_RECORD_BPF_EVENT Song Liu
2018-12-20 18:29 ` [PATCH v5 perf, bpf-next 7/7] perf tools: synthesize PERF_RECORD_* for loaded BPF programs Song Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190108183127.GB30894@hirez.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=acme@kernel.org \
    --cc=ast@kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=kernel-team@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=songliubraving@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).