diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2013-04-16 20:29:59 -0400 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2013-04-17 00:09:16 -0400 |
commit | 44df3e637fdf39b34af841fede9d2edc6172a5cc (patch) | |
tree | 5440a629ee9604b08ee17c347f718c10dc72bb8c | |
parent | caffaf5859f2fda2116ecc403b4411531b4b6678 (diff) |
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 :)
-rw-r--r-- | src/core/manager.c | 6 | ||||
-rw-r--r-- | src/shared/virt.c | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/core/manager.c b/src/core/manager.c index f8d097e368..1ee6a8ed53 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -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; diff --git a/src/shared/virt.c b/src/shared/virt.c index fddb45d6e8..7b18e58c16 100644 --- a/src/shared/virt.c +++ b/src/shared/virt.c @@ -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; } |