public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Borislav Petkov <bp@alien8.de>
Cc: Robert Richter <rric@kernel.org>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Vince Weaver <vince@deater.net>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH] perf/stat: Add --disable-hwdt
Date: Tue, 7 Feb 2017 08:25:12 +0100	[thread overview]
Message-ID: <20170207072512.GB18584@gmail.com> (raw)
In-Reply-To: <20170206132349.bl6qbpjflez3lpkp@pd.tnic>


* Borislav Petkov <bp@alien8.de> wrote:

> On Mon, Feb 06, 2017 at 02:18:32PM +0100, Robert Richter wrote:
>
> > Isn't there the danger the previous watchdog state is never restored if for 
> > some reason perf got killed? So maybe have some other task running that 
> > restores it once perf is gone.
> 
> Currently, I'm restoring it in the atexit() sighandler. Isn't that always 
> called?

Normally yes, but it's not guaranteed as atexit() is all user-space, SIGKILL (or 
OOM) or a straight exit (or a crash in the exit handler itself) will cause it to 
not run.

But there's only so much we can do about that, the /proc/sys API is fundamentally 
lossy in that regard. We'd have to add much more involved kernel support to 
guarantee that the watchdog state is restored.

A way to do it would be create a new /proc/sys/kernel/watchdog_disable_file that 
disables that watchdog while it's _open_. When a task exits and the kernel 
automatically closes the file, the watchdog is re-enabled again. (Or the process 
itself can close the file too.)

This method would also nest properly and would handle multi-processes races 
correctly: for example if a script runs perf as root, and root uses 'perf top', 
the two should not race and the hardware watchdog should not end up being 
disabled...

Thanks,

	Ingo

  reply	other threads:[~2017-02-07  7:25 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-06 12:15 [RFC PATCH] perf/stat: Add --disable-hwdt Borislav Petkov
2017-02-06 12:22 ` Ingo Molnar
2017-02-06 12:41   ` Borislav Petkov
2017-02-06 12:44     ` Ingo Molnar
2017-02-06 12:49       ` Borislav Petkov
2017-02-06 13:18         ` Robert Richter
2017-02-06 13:23           ` Borislav Petkov
2017-02-07  7:25             ` Ingo Molnar [this message]
2017-02-07 10:54               ` Borislav Petkov
2017-02-07 15:06                 ` Borislav Petkov
2017-02-11 17:03                   ` Borislav Petkov
2017-02-11 17:59                     ` Ingo Molnar
2017-02-11 18:32                       ` Borislav Petkov
2017-02-11 20:41                         ` Ingo Molnar
2017-03-07  7:21                         ` [tip:perf/core] perf stat: Issue a HW watchdog disable hint tip-bot for Borislav Petkov
2017-02-06 14:23           ` [RFC PATCH] perf/stat: Add --disable-hwdt Vince Weaver
2017-02-06 17:02             ` Borislav Petkov
2017-02-07  1:08         ` Borislav Petkov
2017-02-07  1:09           ` [PATCH 1/2] tools/lib/api/fs: Add procfs int read/write helpers Borislav Petkov
2017-02-07  1:43             ` Arnaldo Carvalho de Melo
2017-02-07 10:30               ` Borislav Petkov
2017-02-07 15:00                 ` Arnaldo Carvalho de Melo
2017-02-07 15:08                   ` Borislav Petkov
2017-02-07 15:34                     ` Arnaldo Carvalho de Melo
2017-02-07  1:10           ` [PATCH 2/2] perf stat: Disable HW watchdog around a perf stat session Borislav Petkov
2017-02-07  1:45             ` Arnaldo Carvalho de Melo

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=20170207072512.GB18584@gmail.com \
    --to=mingo@kernel.org \
    --cc=acme@kernel.org \
    --cc=bp@alien8.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=rric@kernel.org \
    --cc=vince@deater.net \
    /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