systemd: ignore hw timestamps in containers

They are irrelevant and misleading.

E.g. systemd-analyze:

  Startup finished in 6d 4h 15min 32.330s (kernel) + 49ms 914us (userspace) = 6d 4h 15min 32.380s

becomes

Startup finished in 53.735ms (userspace) = 53.735ms

which looks much better :)
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2013-04-16 20:29:59 -04:00
parent caffaf5859
commit 44df3e637f
2 changed files with 5 additions and 5 deletions

View file

@ -441,10 +441,12 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) {
return -ENOMEM;
dual_timestamp_get(&m->userspace_timestamp);
dual_timestamp_from_monotonic(&m->kernel_timestamp, 0);
if (detect_container(NULL) <= 0) {
dual_timestamp_from_monotonic(&m->kernel_timestamp, 0);
#ifdef ENABLE_EFI
efi_get_boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp);
efi_get_boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp);
#endif
}
m->running_as = running_as;
m->name_data_slot = m->conn_data_slot = m->subscribed_data_slot = -1;

View file

@ -168,7 +168,7 @@ int detect_vm(const char **id) {
}
int detect_container(const char **id) {
char *e = NULL;
char _cleanup_free_ *e = NULL;
int r;
/* Unfortunately many of these operations require root access
@ -216,8 +216,6 @@ int detect_container(const char **id) {
*id = "other";
}
free(e);
return r;
}