All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>,
	Josh Poimboeuf <jpoimboe@redhat.com>,
	Andres Freund <andres@anarazel.de>,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	live-patching@vger.kernel.org,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andy Lutomirski <luto@kernel.org>, Jiri Slaby <jslaby@suse.cz>,
	"H. Peter Anvin" <hpa@zytor.com>, Mike Galbraith <efault@gmx.de>,
	Arnaldo Carvalho de Melo <acme@infradead.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>
Subject: Re: [RFC] perf: Delayed userspace unwind (Was: [PATCH v3 00/10] x86: ORC unwinder)
Date: Fri, 28 Jul 2017 16:13:25 +0200	[thread overview]
Message-ID: <20170728141325.GA20961@krava> (raw)
In-Reply-To: <20170725115512.k3wk62fdnxdd6enu@hirez.programming.kicks-ass.net>

On Tue, Jul 25, 2017 at 01:55:12PM +0200, Peter Zijlstra wrote:

SNIP

>  
> diff --git a/kernel/events/callchain.c b/kernel/events/callchain.c
> index 1b2be63c8528..c98a12f3592c 100644
> --- a/kernel/events/callchain.c
> +++ b/kernel/events/callchain.c
> @@ -12,6 +12,7 @@
>  #include <linux/perf_event.h>
>  #include <linux/slab.h>
>  #include <linux/sched/task_stack.h>
> +#include <linux/task_work.h>
>  
>  #include "internal.h"
>  
> @@ -178,19 +179,94 @@ put_callchain_entry(int rctx)
>  	put_recursion_context(this_cpu_ptr(callchain_recursion), rctx);
>  }
>  
> +static struct perf_callchain_entry __empty = { .nr = 0, };
> +
> +static void perf_callchain_work(struct callback_head *work)
> +{
> +	struct perf_event *event = container_of(work, struct perf_event, pending_callchain);
> +	struct perf_output_handle handle;
> +	struct perf_sample_data sample;
> +	size_t size;
> +	int ret;
> +
> +	struct {
> +		struct perf_event_header	header;
> +	} callchain_event = {
> +		.header = {
> +			.type = PERF_RECORD_CALLCHAIN,
> +			.misc = 0,
> +			.size = sizeof(callchain_event),
> +		},
> +	};

how about we make this generic for all user space sample_type?

I think we could certainly use it for PERF_SAMPLE_STACK_USER,
maybe PERF_SAMPLE_REGS_USER would also help.. just a little ;-)

I'll check on that

jirka

  reply	other threads:[~2017-07-28 14:13 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-11 15:33 [PATCH v3 00/10] x86: ORC unwinder (previously undwarf) Josh Poimboeuf
2017-07-11 15:33 ` [PATCH v3 01/10] x86/entry/64: Refactor IRQ stacks and make them NMI-safe Josh Poimboeuf
2017-07-18 10:40   ` [tip:x86/asm] " tip-bot for Andy Lutomirski
2017-07-11 15:33 ` [PATCH v3 02/10] x86/entry/64: Initialize the top of the IRQ stack before switching stacks Josh Poimboeuf
2017-07-18 10:41   ` [tip:x86/asm] " tip-bot for Andy Lutomirski
2017-07-11 15:33 ` [PATCH v3 03/10] x86/dumpstack: fix occasionally missing registers Josh Poimboeuf
2017-07-18 10:41   ` [tip:x86/asm] x86/dumpstack: Fix " tip-bot for Josh Poimboeuf
2017-07-11 15:33 ` [PATCH v3 04/10] x86/dumpstack: fix interrupt and exception stack boundary checks Josh Poimboeuf
2017-07-18 10:42   ` [tip:x86/asm] x86/dumpstack: Fix " tip-bot for Josh Poimboeuf
2017-07-11 15:33 ` [PATCH v3 05/10] objtool: add ORC unwind table generation Josh Poimboeuf
2017-07-18 10:42   ` [tip:x86/asm] objtool: Add " tip-bot for Josh Poimboeuf
2017-07-11 15:33 ` [PATCH v3 06/10] objtool, x86: add facility for asm code to provide unwind hints Josh Poimboeuf
2017-07-18 10:43   ` [tip:x86/asm] objtool, x86: Add " tip-bot for Josh Poimboeuf
2017-07-11 15:33 ` [PATCH v3 07/10] x86/entry/64: add unwind hint annotations Josh Poimboeuf
2017-07-18 10:43   ` [tip:x86/asm] x86/entry/64: Add " tip-bot for Josh Poimboeuf
2017-07-11 15:33 ` [PATCH v3 08/10] x86/asm: add unwind hint annotations to sync_core() Josh Poimboeuf
2017-07-18 10:43   ` [tip:x86/asm] x86/asm: Add " tip-bot for Josh Poimboeuf
2017-07-11 15:33 ` [PATCH v3 09/10] x86/unwind: add ORC unwinder Josh Poimboeuf
2017-07-14 17:22   ` [PATCH v3.1 " Josh Poimboeuf
2017-07-20  7:12     ` Jiri Slaby
2017-07-20 21:16       ` Josh Poimboeuf
2017-07-11 15:33 ` [PATCH v3 10/10] x86/kconfig: make it easier to switch to the new " Josh Poimboeuf
2017-07-12  8:27 ` [PATCH v3 00/10] x86: ORC unwinder (previously undwarf) Ingo Molnar
2017-07-12 14:42   ` Josh Poimboeuf
2017-07-12 19:27     ` Ingo Molnar
2017-07-14 17:17       ` Josh Poimboeuf
2017-07-25  9:09         ` Ingo Molnar
2017-07-25 17:58           ` Josh Poimboeuf
2017-07-25 18:46             ` Kees Cook
2017-07-12 21:49 ` Andres Freund
2017-07-12 22:32   ` Josh Poimboeuf
2017-07-12 22:36     ` Andres Freund
2017-07-12 22:40       ` Josh Poimboeuf
2017-07-12 22:54         ` Andres Freund
2017-07-13  7:12     ` Peter Zijlstra
2017-07-13  8:50       ` Peter Zijlstra
2017-07-13  8:51         ` Peter Zijlstra
2017-07-13  9:19           ` Ingo Molnar
2017-07-13 12:17             ` Josh Poimboeuf
2017-07-13 12:21               ` Josh Poimboeuf
2017-07-13 12:35                 ` Josh Poimboeuf
2017-07-14  8:33                   ` Ingo Molnar
2017-07-14  8:29               ` Ingo Molnar
2017-07-25 11:55             ` [RFC] perf: Delayed userspace unwind (Was: [PATCH v3 00/10] x86: ORC unwinder) Peter Zijlstra
2017-07-28 14:13               ` Jiri Olsa [this message]
2017-07-28 14:21                 ` Peter Zijlstra
2017-07-29  3:35               ` Andy Lutomirski
2017-07-29  9:28                 ` Peter Zijlstra
2017-07-12 22:30 ` [PATCH v3 00/10] x86: ORC unwinder (previously undwarf) Andi Kleen
2017-07-12 22:47   ` Josh Poimboeuf
2017-07-13  4:29     ` Andi Kleen
2017-07-13 13:15       ` Josh Poimboeuf
2017-07-13  9:29     ` Ingo Molnar
2017-07-12 23:22   ` Andy Lutomirski
2017-07-13  3:03   ` Mike Galbraith
2017-07-13  4:15     ` Andi Kleen
2017-07-13  4:28       ` Mike Galbraith
2017-07-13  4:40         ` Andi Kleen
2017-07-13  5:22           ` Mike Galbraith
2017-07-13 12:02           ` Jiri Kosina

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=20170728141325.GA20961@krava \
    --to=jolsa@redhat.com \
    --cc=acme@infradead.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=andres@anarazel.de \
    --cc=efault@gmx.de \
    --cc=hpa@zytor.com \
    --cc=jpoimboe@redhat.com \
    --cc=jslaby@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=live-patching@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.