Displaying 20 results from an estimated 84 matches for "native_read_tsc".
2015 Jun 17
0
[PATCH v3 03/18] x86/tsc/paravirt: Remove the read_tsc and read_tscp paravirt hooks
...t have a TSC at all, so there's no point
> for a paravirt implementation to pretend that we have a TSC but to
> replace it.
>
> I also doubt that these hooks actually worked. Calls to rdtscl and
> rdtscll, which respected the hooks, were used seemingly
> interchangeably with native_read_tsc, which did not.
>
> Just remove them. If anyone ever needs them again, they can try
> to make a case for why they need them.
>
> Before, on a paravirt config:
> text data bss dec hex filename
> 13426505 1827056 14508032 29761593 1c62039 vmlinux
>
> A...
2015 Jun 17
0
[PATCH v3 03/18] x86/tsc/paravirt: Remove the read_tsc and read_tscp paravirt hooks
...t have a TSC at all, so there's no point
> for a paravirt implementation to pretend that we have a TSC but to
> replace it.
>
> I also doubt that these hooks actually worked. Calls to rdtscl and
> rdtscll, which respected the hooks, were used seemingly
> interchangeably with native_read_tsc, which did not.
>
> Just remove them. If anyone ever needs them again, they can try
> to make a case for why they need them.
>
> Before, on a paravirt config:
> text data bss dec hex filename
> 13426505 1827056 14508032 29761593 1c62039 vmlinux
>
> A...
2007 Apr 18
0
[PATCH 3/9] Vmi cpu cycles.patch
...ern void __init vmi_timer_setup_boot_alarm(void);
diff -r b8b315c897bb arch/i386/kernel/paravirt.c
--- a/arch/i386/kernel/paravirt.c Tue Feb 27 14:04:43 2007 -0800
+++ b/arch/i386/kernel/paravirt.c Tue Feb 27 14:08:59 2007 -0800
@@ -522,6 +522,7 @@ struct paravirt_ops paravirt_ops = {
.read_tsc = native_read_tsc,
.read_pmc = native_read_pmc,
.get_scheduled_cycles = native_read_tsc,
+ .get_cpu_khz = native_calculate_cpu_khz,
.load_tr_desc = native_load_tr_desc,
.set_ldt = native_set_ldt,
.load_gdt = native_load_gdt,
diff -r b8b315c897bb arch/i386/kernel/tsc.c
--- a/arch/i386/kernel/tsc.c Tue Feb 2...
2007 Apr 18
0
[PATCH 3/9] Vmi cpu cycles.patch
...ern void __init vmi_timer_setup_boot_alarm(void);
diff -r b8b315c897bb arch/i386/kernel/paravirt.c
--- a/arch/i386/kernel/paravirt.c Tue Feb 27 14:04:43 2007 -0800
+++ b/arch/i386/kernel/paravirt.c Tue Feb 27 14:08:59 2007 -0800
@@ -522,6 +522,7 @@ struct paravirt_ops paravirt_ops = {
.read_tsc = native_read_tsc,
.read_pmc = native_read_pmc,
.get_scheduled_cycles = native_read_tsc,
+ .get_cpu_khz = native_calculate_cpu_khz,
.load_tr_desc = native_load_tr_desc,
.set_ldt = native_set_ldt,
.load_gdt = native_load_gdt,
diff -r b8b315c897bb arch/i386/kernel/tsc.c
--- a/arch/i386/kernel/tsc.c Tue Feb 2...
2007 Jul 03
2
[PATCH 1/2] lguest: handle dodgy/non-existent TSC. Host code.
Lguest currently requires a TSC, which breaks older machines and Matt
Mackall who boots the host with "notsc". In addition, there is no
good solution to changing TSC speeds (informing all the guests about
the TSC impending change before it happens would be a great deal of
code and have issues with disobedient guests).
This patch makes the host determine if the TSC is both constant and
2007 Jul 03
2
[PATCH 1/2] lguest: handle dodgy/non-existent TSC. Host code.
Lguest currently requires a TSC, which breaks older machines and Matt
Mackall who boots the host with "notsc". In addition, there is no
good solution to changing TSC speeds (informing all the guests about
the TSC impending change before it happens would be a great deal of
code and have issues with disobedient guests).
This patch makes the host determine if the TSC is both constant and
2007 Apr 18
1
[PATCH 2/9] Sched clock paravirt op fix.patch
...-0800
@@ -32,6 +32,7 @@
#include <asm/fixmap.h>
#include <asm/apic.h>
#include <asm/tlbflush.h>
+#include <asm/timer.h>
/* nop stub */
static void native_nop(void)
@@ -520,6 +521,7 @@ struct paravirt_ops paravirt_ops = {
.write_msr = native_write_msr,
.read_tsc = native_read_tsc,
.read_pmc = native_read_pmc,
+ .get_scheduled_cycles = native_read_tsc,
.load_tr_desc = native_load_tr_desc,
.set_ldt = native_set_ldt,
.load_gdt = native_load_gdt,
diff -r d58e6ddfdfa9 arch/i386/kernel/tsc.c
--- a/arch/i386/kernel/tsc.c Thu Feb 15 23:52:41 2007 -0800
+++ b/arch/i386/kerne...
2007 Apr 18
1
[PATCH 2/9] Sched clock paravirt op fix.patch
...-0800
@@ -32,6 +32,7 @@
#include <asm/fixmap.h>
#include <asm/apic.h>
#include <asm/tlbflush.h>
+#include <asm/timer.h>
/* nop stub */
static void native_nop(void)
@@ -520,6 +521,7 @@ struct paravirt_ops paravirt_ops = {
.write_msr = native_write_msr,
.read_tsc = native_read_tsc,
.read_pmc = native_read_pmc,
+ .get_scheduled_cycles = native_read_tsc,
.load_tr_desc = native_load_tr_desc,
.set_ldt = native_set_ldt,
.load_gdt = native_load_gdt,
diff -r d58e6ddfdfa9 arch/i386/kernel/tsc.c
--- a/arch/i386/kernel/tsc.c Thu Feb 15 23:52:41 2007 -0800
+++ b/arch/i386/kerne...
2007 Apr 18
2
[PATCH/RFC] replace get_scheduled_cycles with sched_clock paravirt_op
...2 +-
7 files changed, 57 insertions(+), 17 deletions(-)
===================================================================
--- a/arch/i386/kernel/paravirt.c
+++ b/arch/i386/kernel/paravirt.c
@@ -552,7 +552,7 @@ struct paravirt_ops paravirt_ops = {
.write_msr = native_write_msr,
.read_tsc = native_read_tsc,
.read_pmc = native_read_pmc,
- .get_scheduled_cycles = native_read_tsc,
+ .sched_clock = native_sched_clock,
.get_cpu_khz = native_calculate_cpu_khz,
.load_tr_desc = native_load_tr_desc,
.set_ldt = native_set_ldt,
===================================================================
--- a/ar...
2007 Apr 18
2
[PATCH/RFC] replace get_scheduled_cycles with sched_clock paravirt_op
...2 +-
7 files changed, 57 insertions(+), 17 deletions(-)
===================================================================
--- a/arch/i386/kernel/paravirt.c
+++ b/arch/i386/kernel/paravirt.c
@@ -552,7 +552,7 @@ struct paravirt_ops paravirt_ops = {
.write_msr = native_write_msr,
.read_tsc = native_read_tsc,
.read_pmc = native_read_pmc,
- .get_scheduled_cycles = native_read_tsc,
+ .sched_clock = native_sched_clock,
.get_cpu_khz = native_calculate_cpu_khz,
.load_tr_desc = native_load_tr_desc,
.set_ldt = native_set_ldt,
===================================================================
--- a/ar...
2008 May 08
4
[PATCH 0/4] paravirt clock series.
Respin of the paravirt clock patch series.
On the host side the kvm paravirt clock is made compatible with the
xen clock.
On the guest side some xen code has been factored out into a separate
source file shared by both kvm and xen clock implementations.
This time it should work ok for kvm smp guests ;)
cheers,
Gerd
2008 May 08
4
[PATCH 0/4] paravirt clock series.
Respin of the paravirt clock patch series.
On the host side the kvm paravirt clock is made compatible with the
xen clock.
On the guest side some xen code has been factored out into a separate
source file shared by both kvm and xen clock implementations.
This time it should work ok for kvm smp guests ;)
cheers,
Gerd
2008 May 16
5
[PATCH 0/4] paravirt clock source patches, #3
paravirt clock source patches, next round, with a bunch of changes
in the host code according to Avi's review comments and some minor
code tweaks.
cheers,
Gerd
2008 May 16
5
[PATCH 0/4] paravirt clock source patches, #3
paravirt clock source patches, next round, with a bunch of changes
in the host code according to Avi's review comments and some minor
code tweaks.
cheers,
Gerd
2008 Jun 03
6
[PATCH 0/5] paravirt clock source patches, #5
paravirt clock source patches, next round.
There is now a pvclock-abi.h file with the structs and some longish
comments in it and everybody is switched over to use the stuff in
there.
Some minor tweaks after super-fast review by Jeremy.
The queue is on top of the kvm git tree. The first two patches should
have no kvm dependencies and should apply to linus tree just fine.
cheers,
Gerd
2008 Jun 03
6
[PATCH 0/5] paravirt clock source patches, #5
paravirt clock source patches, next round.
There is now a pvclock-abi.h file with the structs and some longish
comments in it and everybody is switched over to use the stuff in
there.
Some minor tweaks after super-fast review by Jeremy.
The queue is on top of the kvm git tree. The first two patches should
have no kvm dependencies and should apply to linus tree just fine.
cheers,
Gerd
2008 Jun 03
10
[PATCH 0/5] paravirt clock source patches, #4
paravirt clock source patches, next round.
There is now a pvclock-abi.h file with the structs and some longish
comments in it and everybody is switched over to use the stuff in
there.
cheers,
Gerd
2008 Jun 03
10
[PATCH 0/5] paravirt clock source patches, #4
paravirt clock source patches, next round.
There is now a pvclock-abi.h file with the structs and some longish
comments in it and everybody is switched over to use the stuff in
there.
cheers,
Gerd
2007 Jul 22
0
[PATCH] Fix lguest clock when jiffies not available
...345,24 @@ static void __init lguest_init_IRQ(void)
static unsigned long lguest_get_wallclock(void)
{
- return hcall(LHCALL_GET_WALLCLOCK, 0, 0, 0);
+ return lguest_data.time.tv_sec;
}
static cycle_t lguest_clock_read(void)
{
+ unsigned long sec, nsec;
+
if (lguest_data.tsc_khz)
return native_read_tsc();
- else
- return jiffies;
+
+ /* Standard loop to make sure we get matching seconds & nanoseconds */
+ do {
+ sec = lguest_data.time.tv_sec;
+ rmb();
+ nsec = lguest_data.time.tv_nsec;
+ rmb();
+ } while (unlikely(lguest_data.time.tv_sec != sec));
+ return sec*1000000000ULL + nsec;
}...
2007 Jul 22
0
[PATCH] Fix lguest clock when jiffies not available
...345,24 @@ static void __init lguest_init_IRQ(void)
static unsigned long lguest_get_wallclock(void)
{
- return hcall(LHCALL_GET_WALLCLOCK, 0, 0, 0);
+ return lguest_data.time.tv_sec;
}
static cycle_t lguest_clock_read(void)
{
+ unsigned long sec, nsec;
+
if (lguest_data.tsc_khz)
return native_read_tsc();
- else
- return jiffies;
+
+ /* Standard loop to make sure we get matching seconds & nanoseconds */
+ do {
+ sec = lguest_data.time.tv_sec;
+ rmb();
+ nsec = lguest_data.time.tv_nsec;
+ rmb();
+ } while (unlikely(lguest_data.time.tv_sec != sec));
+ return sec*1000000000ULL + nsec;
}...