Merge commit 'cc43ee42acc3df89f584c670c4287e25808f23b2' into eclair-mr2-plus-aosp * commit 'cc43ee42acc3df89f584c670c4287e25808f23b2': cutils: schedpolicy: Add debug code to log sched policy transitions
This commit is contained in:
commit
748cb49e00
1 changed files with 37 additions and 0 deletions
|
@ -23,6 +23,9 @@
|
|||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
#define LOG_TAG "SchedPolicy"
|
||||
#include "cutils/log.h"
|
||||
|
||||
#ifdef HAVE_SCHED_H
|
||||
|
||||
#include <sched.h>
|
||||
|
@ -37,6 +40,8 @@
|
|||
#define SCHED_BATCH 3
|
||||
#endif
|
||||
|
||||
#define POLICY_DEBUG 1
|
||||
|
||||
static int __sys_supports_schedgroups = -1;
|
||||
|
||||
static int add_tid_to_cgroup(int tid, const char *grp_name)
|
||||
|
@ -155,6 +160,38 @@ int set_sched_policy(int tid, SchedPolicy policy)
|
|||
{
|
||||
initialize();
|
||||
|
||||
#if POLICY_DEBUG
|
||||
char statfile[64];
|
||||
char statline[1024];
|
||||
char thread_name[255];
|
||||
int fd;
|
||||
|
||||
sprintf(statfile, "/proc/%d/stat", tid);
|
||||
memset(thread_name, 0, sizeof(thread_name));
|
||||
|
||||
fd = open(statfile, O_RDONLY);
|
||||
if (fd >= 0) {
|
||||
int rc = read(fd, statline, 1023);
|
||||
close(fd);
|
||||
statline[rc] = 0;
|
||||
char *p = statline;
|
||||
char *q;
|
||||
|
||||
for (p = statline; *p != '('; p++);
|
||||
p++;
|
||||
for (q = p; *q != ')'; q++);
|
||||
|
||||
strncpy(thread_name, p, (q-p));
|
||||
}
|
||||
if (policy == SP_BACKGROUND) {
|
||||
LOGD("vvv tid %d (%s)", tid, thread_name);
|
||||
} else if (policy == SP_FOREGROUND) {
|
||||
LOGD("^^^ tid %d (%s)", tid, thread_name);
|
||||
} else {
|
||||
LOGD("??? tid %d (%s)", tid, thread_name);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (__sys_supports_schedgroups) {
|
||||
const char *grp = NULL;
|
||||
|
||||
|
|
Loading…
Reference in a new issue