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:
parent
caffaf5859
commit
44df3e637f
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue