From: Peter Zijlstra <peterz@infradead.org>
To: Dmitry Vyukov <dvyukov@google.com>
Cc: Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
Will Deacon <will@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Matt Morehouse <mascasa@google.com>
Subject: Re: Process-wide watchpoints
Date: Thu, 4 Feb 2021 10:38:58 +0100 [thread overview]
Message-ID: <YBvAsku9OWM7KUno@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <CACT4Y+btOt5QFKH9Q=81EnpDHoidJUHE2s0oZ8v65t-b__awuw@mail.gmail.com>
On Thu, Feb 04, 2021 at 09:10:11AM +0100, Dmitry Vyukov wrote:
> On Wed, Feb 3, 2021 at 2:37 PM Peter Zijlstra <peterz@infradead.org> wrote:
> > Letting perf send a signal to the monitored task is intrusive.. let me
> > think on that.
>
> I was thinking of something very similar to that bpf_send_signal that
> delays sending to exit from irq:
> https://elixir.bootlin.com/linux/latest/source/kernel/trace/bpf_trace.c#L1091
Oh, making code to do it isn't the problem. The problem stems from the
fact that perf is supposed to be observant only. The exception is when
you monitor yourself, in that case you can send signals to yourself,
because you know what you're doing (supposedly ;-).
But if you go send signals to the task you're monitoring, you're
actually changing their code-flow, you're an active participant instead
of an observer.
Also, they might not be able to handle the signal, in which case you're
not changing the program but terminating it entirely.
That's a big conceptual shift.
OTOH, we're using ptrace permission checks, and ptrace() can inject
signals just fine. But it's a fairly big departure from what perf set
out to be.
next prev parent reply other threads:[~2021-02-04 9:40 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-12 7:46 Process-wide watchpoints Dmitry Vyukov
2020-11-12 10:31 ` Peter Zijlstra
2020-11-12 10:43 ` Dmitry Vyukov
[not found] ` <CACT4Y+bW1gpv8bz0vswaVUt-OB07oJ3NBeTi+vchAe8TTWK+mg@mail.gmail.com>
[not found] ` <CACT4Y+ZsKXfAxrzJGQc5mJ+QiP5sAw7zKWtciS+07qZzSf33mw@mail.gmail.com>
2021-02-01 8:50 ` Dmitry Vyukov
2021-02-03 12:29 ` Peter Zijlstra
2021-02-03 12:49 ` Dmitry Vyukov
2021-02-03 12:50 ` Dmitry Vyukov
2021-02-03 13:37 ` Peter Zijlstra
2021-02-04 8:10 ` Dmitry Vyukov
2021-02-04 9:38 ` Peter Zijlstra [this message]
2021-02-04 9:54 ` Dmitry Vyukov
2021-02-04 12:09 ` Peter Zijlstra
2021-02-04 12:53 ` Dmitry Vyukov
2021-02-04 13:10 ` Peter Zijlstra
2021-02-04 13:35 ` Dmitry Vyukov
2021-02-04 13:45 ` Peter Zijlstra
2021-02-04 14:59 ` Peter Zijlstra
2021-02-04 13:33 ` Peter Zijlstra
2021-02-04 13:37 ` Dmitry Vyukov
2021-02-04 13:06 ` Peter Zijlstra
2021-02-03 5:38 ` Namhyung Kim
2021-02-04 8:10 ` Dmitry Vyukov
2021-02-03 12:22 ` Peter Zijlstra
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=YBvAsku9OWM7KUno@hirez.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=acme@kernel.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=dvyukov@google.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mascasa@google.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=will@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 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).