| #
95ee2897
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
| #
2bed1419
|
| 03-Feb-2023 |
Mark Johnston <markj@FreeBSD.org> |
pvclock: Export a vDSO page even without rdtscp available
When the cycle counter is "stable", i.e., synchronized across vCPUs by the hypervisor, userspace can use a serialized rdtsc instead of relyi
pvclock: Export a vDSO page even without rdtscp available
When the cycle counter is "stable", i.e., synchronized across vCPUs by the hypervisor, userspace can use a serialized rdtsc instead of relying on rdtscp, just like the kernel timecounter does. This can be useful for performance in guests where the hypervisor hides rdtscp for some reason.
To avoid breaking compatibility with older userspace which expects rdtscp to be usable when pvclock exports timekeeping info, hide this feature behind a sysctl.
Reviewed by: kib Tested by: Shrikanth R Kamath <kshrikanth@juniper.net> MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38342
show more ...
|
| #
d4b2d303
|
| 07-Aug-2021 |
Adam Fenn <adam@fenn.io> |
pvclock: Add vDSO support
Add vDSO support for timekeeping devices that support the KVM/XEN paravirtual clock API.
Also, expose, in the userspace-accessible '<machine/pvclock.h>', definitions that
pvclock: Add vDSO support
Add vDSO support for timekeeping devices that support the KVM/XEN paravirtual clock API.
Also, expose, in the userspace-accessible '<machine/pvclock.h>', definitions that will be needed by 'libc' to support 'VDSO_TH_ALGO_X86_PVCLK'.
Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D31418
show more ...
|
| #
0b3382b8
|
| 07-Aug-2021 |
Adam Fenn <adam@fenn.io> |
pvclock: Add 'struct pvclock' API
Consolidate more hypervisor-agnostic functionality behind a new 'struct pvclock' API.
This should also make it easier to subsequently add hypervisor-agnostic vDSO
pvclock: Add 'struct pvclock' API
Consolidate more hypervisor-agnostic functionality behind a new 'struct pvclock' API.
This should also make it easier to subsequently add hypervisor-agnostic vDSO timekeeping support.
Also, perform some clean-up: - Remove 'pvclock_get_last_cycles()'; do not allow external access to 'pvclock_last_systime' since this is not necessary. - Consolidate/simplify wall and system time reading codepaths. - Ensure correct ordering within wall and system time reading codepaths via 'atomic(9)' and 'rdtsc_ordered()' rather than via 'rmb()'. - Remove some extra newlines.
Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D31418
show more ...
|
| #
95ee2897
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
| #
2bed1419
|
| 03-Feb-2023 |
Mark Johnston <markj@FreeBSD.org> |
pvclock: Export a vDSO page even without rdtscp available
When the cycle counter is "stable", i.e., synchronized across vCPUs by the hypervisor, userspace can use a serialized rdtsc instead of relyi
pvclock: Export a vDSO page even without rdtscp available
When the cycle counter is "stable", i.e., synchronized across vCPUs by the hypervisor, userspace can use a serialized rdtsc instead of relying on rdtscp, just like the kernel timecounter does. This can be useful for performance in guests where the hypervisor hides rdtscp for some reason.
To avoid breaking compatibility with older userspace which expects rdtscp to be usable when pvclock exports timekeeping info, hide this feature behind a sysctl.
Reviewed by: kib Tested by: Shrikanth R Kamath <kshrikanth@juniper.net> MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38342
show more ...
|
| #
d4b2d303
|
| 07-Aug-2021 |
Adam Fenn <adam@fenn.io> |
pvclock: Add vDSO support
Add vDSO support for timekeeping devices that support the KVM/XEN paravirtual clock API.
Also, expose, in the userspace-accessible '<machine/pvclock.h>', definitions that
pvclock: Add vDSO support
Add vDSO support for timekeeping devices that support the KVM/XEN paravirtual clock API.
Also, expose, in the userspace-accessible '<machine/pvclock.h>', definitions that will be needed by 'libc' to support 'VDSO_TH_ALGO_X86_PVCLK'.
Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D31418
show more ...
|
| #
0b3382b8
|
| 07-Aug-2021 |
Adam Fenn <adam@fenn.io> |
pvclock: Add 'struct pvclock' API
Consolidate more hypervisor-agnostic functionality behind a new 'struct pvclock' API.
This should also make it easier to subsequently add hypervisor-agnostic vDSO
pvclock: Add 'struct pvclock' API
Consolidate more hypervisor-agnostic functionality behind a new 'struct pvclock' API.
This should also make it easier to subsequently add hypervisor-agnostic vDSO timekeeping support.
Also, perform some clean-up: - Remove 'pvclock_get_last_cycles()'; do not allow external access to 'pvclock_last_systime' since this is not necessary. - Consolidate/simplify wall and system time reading codepaths. - Ensure correct ordering within wall and system time reading codepaths via 'atomic(9)' and 'rdtsc_ordered()' rather than via 'rmb()'. - Remove some extra newlines.
Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D31418
show more ...
|
| #
98e0ffae
|
| 27-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge sync of head
|
| #
9f3d45b6
|
| 08-Feb-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Merge from HEAD
|
| #
a403ab7f
|
| 04-Feb-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r278110 through r278223.
|
| #
4025433e
|
| 04-Feb-2015 |
Bryan Venteicher <bryanv@FreeBSD.org> |
Add interface to derive a TSC frequency from the pvclock
This can later use this to determine the TSC frequency like is done with VMware, instead of using a DELAY loop that is not always accurate in
Add interface to derive a TSC frequency from the pvclock
This can later use this to determine the TSC frequency like is done with VMware, instead of using a DELAY loop that is not always accurate in an VM.
MFC after: 1 month
show more ...
|
| #
d3ccddf3
|
| 04-Feb-2015 |
Bryan Venteicher <bryanv@FreeBSD.org> |
Generalized parts of the XEN timer code into a generic pvclock
KVM clock shares the same data structures between the guest and the host as Xen so it makes sense to just have a single copy of this co
Generalized parts of the XEN timer code into a generic pvclock
KVM clock shares the same data structures between the guest and the host as Xen so it makes sense to just have a single copy of this code.
Differential Revision: https://reviews.freebsd.org/D1429 Reviewed by: royger (eariler version) MFC after: 1 month
show more ...
|
| #
98e0ffae
|
| 27-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge sync of head
|
| #
9f3d45b6
|
| 08-Feb-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Merge from HEAD
|
| #
a403ab7f
|
| 04-Feb-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r278110 through r278223.
|
| #
4025433e
|
| 04-Feb-2015 |
Bryan Venteicher <bryanv@FreeBSD.org> |
Add interface to derive a TSC frequency from the pvclock
This can later use this to determine the TSC frequency like is done with VMware, instead of using a DELAY loop that is not always accurate in
Add interface to derive a TSC frequency from the pvclock
This can later use this to determine the TSC frequency like is done with VMware, instead of using a DELAY loop that is not always accurate in an VM.
MFC after: 1 month
show more ...
|
| #
d3ccddf3
|
| 04-Feb-2015 |
Bryan Venteicher <bryanv@FreeBSD.org> |
Generalized parts of the XEN timer code into a generic pvclock
KVM clock shares the same data structures between the guest and the host as Xen so it makes sense to just have a single copy of this co
Generalized parts of the XEN timer code into a generic pvclock
KVM clock shares the same data structures between the guest and the host as Xen so it makes sense to just have a single copy of this code.
Differential Revision: https://reviews.freebsd.org/D1429 Reviewed by: royger (eariler version) MFC after: 1 month
show more ...
|
| #
95ee2897
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
| #
2bed1419
|
| 03-Feb-2023 |
Mark Johnston <markj@FreeBSD.org> |
pvclock: Export a vDSO page even without rdtscp available
When the cycle counter is "stable", i.e., synchronized across vCPUs by the hypervisor, userspace can use a serialized rdtsc instead of relyi
pvclock: Export a vDSO page even without rdtscp available
When the cycle counter is "stable", i.e., synchronized across vCPUs by the hypervisor, userspace can use a serialized rdtsc instead of relying on rdtscp, just like the kernel timecounter does. This can be useful for performance in guests where the hypervisor hides rdtscp for some reason.
To avoid breaking compatibility with older userspace which expects rdtscp to be usable when pvclock exports timekeeping info, hide this feature behind a sysctl.
Reviewed by: kib Tested by: Shrikanth R Kamath <kshrikanth@juniper.net> MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38342
show more ...
|
| #
d4b2d303
|
| 07-Aug-2021 |
Adam Fenn <adam@fenn.io> |
pvclock: Add vDSO support
Add vDSO support for timekeeping devices that support the KVM/XEN paravirtual clock API.
Also, expose, in the userspace-accessible '<machine/pvclock.h>', definitions that
pvclock: Add vDSO support
Add vDSO support for timekeeping devices that support the KVM/XEN paravirtual clock API.
Also, expose, in the userspace-accessible '<machine/pvclock.h>', definitions that will be needed by 'libc' to support 'VDSO_TH_ALGO_X86_PVCLK'.
Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D31418
show more ...
|
| #
0b3382b8
|
| 07-Aug-2021 |
Adam Fenn <adam@fenn.io> |
pvclock: Add 'struct pvclock' API
Consolidate more hypervisor-agnostic functionality behind a new 'struct pvclock' API.
This should also make it easier to subsequently add hypervisor-agnostic vDSO
pvclock: Add 'struct pvclock' API
Consolidate more hypervisor-agnostic functionality behind a new 'struct pvclock' API.
This should also make it easier to subsequently add hypervisor-agnostic vDSO timekeeping support.
Also, perform some clean-up: - Remove 'pvclock_get_last_cycles()'; do not allow external access to 'pvclock_last_systime' since this is not necessary. - Consolidate/simplify wall and system time reading codepaths. - Ensure correct ordering within wall and system time reading codepaths via 'atomic(9)' and 'rdtsc_ordered()' rather than via 'rmb()'. - Remove some extra newlines.
Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D31418
show more ...
|
| #
98e0ffae
|
| 27-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge sync of head
|
| #
9f3d45b6
|
| 08-Feb-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Merge from HEAD
|
| #
a403ab7f
|
| 04-Feb-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r278110 through r278223.
|