All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: John Stultz <john.stultz@linaro.org>
Cc: Kees Cook <keescook@chromium.org>,
	lkml <linux-kernel@vger.kernel.org>,
	Ruchi Kandoi <kandoiruchi@google.com>,
	Arjan van de Ven <arjan@linux.intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Oren Laadan <orenl@cellrox.com>,
	Rom Lemarchand <romlem@android.com>,
	Android Kernel Team <kernel-team@android.com>
Subject: Re: [PATCH] prctl: Add PR_SET_TIMERSLACK_PID for setting timer slack of an arbitrary thread.
Date: Fri, 5 Feb 2016 17:56:35 -0800	[thread overview]
Message-ID: <20160205175635.25615b9b.akpm@linux-foundation.org> (raw)
In-Reply-To: <CALAqxLUtajtXW_33VCuDE6gkfYugSPAX8YyzjA5p9P9zcDX3sA@mail.gmail.com>

On Fri, 5 Feb 2016 16:51:02 -0800 John Stultz <john.stultz@linaro.org> wrote:

> On Fri, Feb 5, 2016 at 2:35 PM, John Stultz <john.stultz@linaro.org> wrote:
> > On Fri, Feb 5, 2016 at 12:50 PM, Andrew Morton
> > <akpm@linux-foundation.org> wrote:
> >> On Fri, 5 Feb 2016 12:44:04 -0800 Kees Cook <keescook@chromium.org> wrote:
> >>> Could this be exposed as a writable /proc entry instead? Like the oom_* stuff?
> >>
> >> /proc/<pid>/timer_slack_ns, guarded by ptrace_may_access(), documented
> >> under Documentation/?  Yup, that would work.  It's there for all
> >> architectures from day one and there is precedent.  It's not as nice,
> >> but /proc nasties will always be with us.
> >
> > Ok. I'll start working on that.
> 
> Arjan/Thomas:  One curious thing I noticed here while writing some
> documentation. The timer_slack_ns value in the task struct is a
> unsigned long.
> 
> So this means PR_SET_TIMERSLACK limits the maximum slack on 32 bit
> machines to ~4 seconds. Where on 64bit machines it can be quite a bit
> longer (unreasonably long, really :).
> 
> While 4 seconds is probably a reasonable interactivity limit, testing
> w/ 10 second slack values on a VM showed those timers pushed back to
> almost 10 seconds. So it may be useful to have > 4 second slack values
> generally. Thus left alone this seems like an unfair disadvantage to
> 32bit machines.
> 
> We can't do too much about the PR_GET_TIMERSLACK/PR_SET_TIMERSLACK
> interfaces, since its ABI and specifies a long, so one option there
> would be to make sure the value specified is capped to UINT_MAX which
> would keep the max value to ~4 seconds on all architectures.
> 
> Alternatively, with the /proc/pid/timerslack_ns interface I'm working
> on, we can make the backing storage a long long and support 64bits of
> nanoseconds on all architectures. (But again, we can't really change
> PR_SET/GET_TIMERSLACK, so 32bit systems might see strange values from
> that with larger then uint slack values).
> 
> Or I can just leave it as ULONG_MAX on all interfaces.
> 
> Thoughts or preferences?

/proc/<pid>/timer_slack_us?

  reply	other threads:[~2016-02-06  1:52 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-05 18:08 [PATCH] prctl: Add PR_SET_TIMERSLACK_PID for setting timer slack of an arbitrary thread John Stultz
2016-02-05 20:10 ` Kees Cook
2016-02-05 20:18   ` John Stultz
2016-02-05 20:13 ` Andrew Morton
2016-02-05 20:23   ` John Stultz
2016-02-05 20:32     ` Andrew Morton
2016-02-05 20:39       ` John Stultz
2016-02-05 20:44         ` Kees Cook
2016-02-05 20:50           ` Andrew Morton
2016-02-05 22:35             ` John Stultz
2016-02-06  0:51               ` John Stultz
2016-02-06  1:56                 ` Andrew Morton [this message]
2016-02-06  2:41                   ` John Stultz
2016-02-06  2:15                 ` Arjan van de Ven
2016-02-06  2:50                   ` John Stultz
2016-02-06  2:54                     ` Arjan van de Ven

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=20160205175635.25615b9b.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=arjan@linux.intel.com \
    --cc=john.stultz@linaro.org \
    --cc=kandoiruchi@google.com \
    --cc=keescook@chromium.org \
    --cc=kernel-team@android.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=orenl@cellrox.com \
    --cc=romlem@android.com \
    --cc=tglx@linutronix.de \
    /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.