Lower the priority of the threads in logd/logcat.
sched_batch implies only a penalty to latency in scheduling, but does not imply that the process will be given less cpu time. Increase the nice level to 10 to prioritize it below ui threads. Bug: 21696721 Change-Id: I075af059dc755402f7df9b0d7a66cca921ff04b2
This commit is contained in:
parent
6f1457adc5
commit
d98f4e8af5
|
@ -14,6 +14,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/resource.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
|
@ -33,6 +34,7 @@
|
|||
#include <log/logd.h>
|
||||
#include <log/logger.h>
|
||||
#include <log/logprint.h>
|
||||
#include <utils/threads.h>
|
||||
|
||||
#define DEFAULT_MAX_ROTATED_LOGS 4
|
||||
|
||||
|
@ -221,6 +223,10 @@ static void setupOutput()
|
|||
fprintf(stderr, "failed to set to batch scheduler\n");
|
||||
}
|
||||
|
||||
if (setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_BACKGROUND) < 0) {
|
||||
fprintf(stderr, "failed set to priority\n");
|
||||
}
|
||||
|
||||
g_outFD = openLogFile (g_outputFileName);
|
||||
|
||||
if (g_outFD < 0) {
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include <sys/capability.h>
|
||||
#include <sys/klog.h>
|
||||
#include <sys/prctl.h>
|
||||
#include <sys/resource.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <syslog.h>
|
||||
|
@ -37,6 +38,7 @@
|
|||
#include <cutils/sockets.h>
|
||||
#include <log/event_tag_map.h>
|
||||
#include <private/android_filesystem_config.h>
|
||||
#include <utils/threads.h>
|
||||
|
||||
#include "CommandListener.h"
|
||||
#include "LogBuffer.h"
|
||||
|
@ -91,6 +93,10 @@ static int drop_privs() {
|
|||
return -1;
|
||||
}
|
||||
|
||||
if (setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_BACKGROUND) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (prctl(PR_SET_KEEPCAPS, 1) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
@ -156,6 +162,7 @@ static LogBuffer *logBuf = NULL;
|
|||
static void *reinit_thread_start(void * /*obj*/) {
|
||||
prctl(PR_SET_NAME, "logd.daemon");
|
||||
set_sched_policy(0, SP_BACKGROUND);
|
||||
setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_BACKGROUND);
|
||||
|
||||
setgid(AID_SYSTEM);
|
||||
setuid(AID_SYSTEM);
|
||||
|
|
Loading…
Reference in New Issue