summaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-03-28 12:12:51 -0700
committerElliott Hughes <enh@google.com>2015-03-28 12:12:51 -0700
commit59abac27cb3178794857eefbf6c6ae445a91269c (patch)
tree1a62cdc03bf3ab8b0f799cf1a6750fc3ce78044e /init
parent8f03e3cb3db392127fd8dc0a2ce62aa15a755ffd (diff)
downloadsystem_core-59abac27cb3178794857eefbf6c6ae445a91269c.tar.gz
system_core-59abac27cb3178794857eefbf6c6ae445a91269c.tar.bz2
system_core-59abac27cb3178794857eefbf6c6ae445a91269c.zip
Clarify a few things about bootcharts.
Make it clearer in dmesg when we're deliberately not doing bootcharting, and explain in the documentation that the output for init is quite misleading (and, as far as I can tell, not within our power to fix). Change-Id: I0b22a56f83521d64c6d176dc423c81f7ea86b23c
Diffstat (limited to 'init')
-rw-r--r--init/bootchart.cpp16
-rw-r--r--init/readme.txt11
2 files changed, 13 insertions, 14 deletions
diff --git a/init/bootchart.cpp b/init/bootchart.cpp
index 03c8b300a..95687cbd0 100644
--- a/init/bootchart.cpp
+++ b/init/bootchart.cpp
@@ -195,13 +195,8 @@ static int bootchart_init() {
}
// Create kernel process accounting file.
- {
- int fd = open( LOG_ACCT, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC,0644);
- if (fd >= 0) {
- close(fd);
- acct( LOG_ACCT );
- }
- }
+ close(open(LOG_ACCT, O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, 0644));
+ acct(LOG_ACCT);
log_header();
return count;
@@ -210,11 +205,12 @@ static int bootchart_init() {
int do_bootchart_init(int nargs, char** args) {
g_remaining_samples = bootchart_init();
if (g_remaining_samples < 0) {
- ERROR("bootcharting init failure: %s\n", strerror(errno));
+ ERROR("Bootcharting init failure: %s\n", strerror(errno));
} else if (g_remaining_samples > 0) {
- NOTICE("bootcharting started (will run for %d ms)\n", g_remaining_samples*BOOTCHART_POLLING_MS);
+ NOTICE("Bootcharting started (will run for %d s).\n",
+ (g_remaining_samples * BOOTCHART_POLLING_MS) / 1000);
} else {
- NOTICE("bootcharting ignored\n");
+ NOTICE("Not bootcharting.\n");
}
return 0;
}
diff --git a/init/readme.txt b/init/readme.txt
index 4c8d0d348..630dd034c 100644
--- a/init/readme.txt
+++ b/init/readme.txt
@@ -323,12 +323,11 @@ init.svc.<name>
Bootcharting
------------
-
This version of init contains code to perform "bootcharting": generating log
files that can be later processed by the tools provided by www.bootchart.org.
-On the emulator, use the new -bootchart <timeout> option to boot with
-bootcharting activated for <timeout> seconds.
+On the emulator, use the -bootchart <timeout> option to boot with bootcharting
+activated for <timeout> seconds.
On a device, create /data/bootchart/start with a command like the following:
@@ -349,9 +348,13 @@ retrieve them and create a bootchart.tgz file that can be used with the
bootchart command-line utility:
sudo apt-get install pybootchartgui
- ANDROID_SERIAL=<device serial number>
+ # grab-bootchart.sh uses $ANDROID_SERIAL.
$ANDROID_BUILD_TOP/system/core/init/grab-bootchart.sh
+One thing to watch for is that the bootchart will show init as if it started
+running at 0s. You'll have to look at dmesg to work out when the kernel
+actually started init.
+
Debugging init
--------------