Set timer slack value according to thread foreground/background state.
Change-Id: Ia998f349129acf4602b767d1ff94839607fdbdbd Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
This commit is contained in:
parent
00b8972062
commit
422852ef5c
|
@ -26,6 +26,7 @@
|
|||
#include <fcntl.h>
|
||||
#include <cutils/sched_policy.h>
|
||||
#include <cutils/log.h>
|
||||
#include <linux/prctl.h>
|
||||
|
||||
/* Re-map SP_DEFAULT to the system default policy, and leave other values unchanged.
|
||||
* Call this any place a SchedPolicy is used as an input parameter.
|
||||
|
@ -53,6 +54,9 @@ static inline SchedPolicy _policy(SchedPolicy p)
|
|||
|
||||
#define CAN_SET_SP_SYSTEM 0 // non-zero means to implement set_sched_policy(tid, SP_SYSTEM)
|
||||
|
||||
// timer slack value in nS enforced when the thread moves to background
|
||||
#define TIMER_SLACK_BG 40000000
|
||||
|
||||
static pthread_once_t the_once = PTHREAD_ONCE_INIT;
|
||||
|
||||
static int __sys_supports_schedgroups = -1;
|
||||
|
@ -324,6 +328,8 @@ int set_sched_policy(int tid, SchedPolicy policy)
|
|||
¶m);
|
||||
}
|
||||
|
||||
prctl(PR_SET_TIMERSLACK_PID, policy == SP_BACKGROUND ? TIMER_SLACK_BG : 0, tid);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue