Re: [RFC][PATCH v2] prctl: Add PR_SET_TIMERSLACK_PID for setting timer slack of an arbitrary thread.

From: Arjan van de Ven
Date: Tue Jan 26 2016 - 08:30:09 EST


On 1/25/2016 8:28 PM, John Stultz wrote:
From: Ruchi Kandoi <kandoiruchi@xxxxxxxxxx>

This allows power/performance management software to set timer
slack for other threads according to its policy for the thread
(such as when the thread is designated foreground vs. background
activity)

Second argument is similar to PR_SET_TIMERSLACK, if non-zero
then the slack is set to that value otherwise sets it to the
default for the thread.

Takes PID of the thread as the third argument.

This interface checks that the calling task has permissions to
to use PTRACE_MODE_ATTACH on the target task, so that we can
ensure arbitrary apps do not change the timer slack for other
apps.

Acked-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>

only slight concern is the locking around the value of the field in the task struct,
but nobody does read-modify-write on it, so they'll get either the new or the old version,
which should be ok.

(until now only the local thread would touch the field, and if you're setting it, by definition
you're not going to sleep yet, so you're not using the field)