mirror of
https://github.com/systemd/systemd.git
synced 2024-10-30 06:25:37 +03:00
Revert "boot-timestamps: Discard firmware init time when running in a VM"
This reverts commit f699bd81e8
(#22063)
We should suppress the TSC data when we generate it if we assume its
invalid, not when we consume it, because at that point we don't even
know if the data stems from TSC or something else.
This commit is contained in:
parent
fa16642f4a
commit
9b176fbdc0
@ -5,13 +5,11 @@
|
||||
#include "efi-loader.h"
|
||||
#include "macro.h"
|
||||
#include "time-util.h"
|
||||
#include "virt.h"
|
||||
|
||||
int boot_timestamps(const dual_timestamp *n, dual_timestamp *firmware, dual_timestamp *loader) {
|
||||
usec_t x = 0, y = 0, a;
|
||||
int r;
|
||||
dual_timestamp _n;
|
||||
bool use_firmware = true;
|
||||
|
||||
assert(firmware);
|
||||
assert(loader);
|
||||
@ -26,10 +24,6 @@ int boot_timestamps(const dual_timestamp *n, dual_timestamp *firmware, dual_time
|
||||
r = efi_loader_get_boot_usec(&x, &y);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
/* If we are running in a VM, the init timestamp would
|
||||
* be equivalent to the host uptime. */
|
||||
use_firmware = detect_vm() <= 0;
|
||||
}
|
||||
|
||||
/* Let's convert this to timestamps where the firmware
|
||||
@ -39,14 +33,12 @@ int boot_timestamps(const dual_timestamp *n, dual_timestamp *firmware, dual_time
|
||||
* the monotonic timestamps here as negative of the actual
|
||||
* value. */
|
||||
|
||||
if (use_firmware) {
|
||||
firmware->monotonic = y;
|
||||
a = n->monotonic + firmware->monotonic;
|
||||
firmware->realtime = n->realtime > a ? n->realtime - a : 0;
|
||||
} else
|
||||
firmware->monotonic = firmware->realtime = 0;
|
||||
|
||||
firmware->monotonic = y;
|
||||
loader->monotonic = y - x;
|
||||
|
||||
a = n->monotonic + firmware->monotonic;
|
||||
firmware->realtime = n->realtime > a ? n->realtime - a : 0;
|
||||
|
||||
a = n->monotonic + loader->monotonic;
|
||||
loader->realtime = n->realtime > a ? n->realtime - a : 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user