search for: custom_sched_clock

Displaying 8 results from an estimated 8 matches for "custom_sched_clock".

2007 Apr 18
1
[PATCH 2/9] Sched clock paravirt op fix.patch
The custom_sched_clock hook is broken. The result from sched_clock needs to be in nanoseconds, not in CPU cycles. The TSC is insufficient for this purpose, because TSC is poorly defined in a virtual environment, and mostly represents real world time instead of scheduled process time (which can be interrupted without no...
2007 Apr 18
1
[PATCH 2/9] Sched clock paravirt op fix.patch
The custom_sched_clock hook is broken. The result from sched_clock needs to be in nanoseconds, not in CPU cycles. The TSC is insufficient for this purpose, because TSC is poorly defined in a virtual environment, and mostly represents real world time instead of scheduled process time (which can be interrupted without no...
2007 Apr 18
0
[PATCH 6/6] VMI timer patches
...atic long clock_cmos_diff; diff -r 77e4058e936b arch/i386/kernel/tsc.c --- a/arch/i386/kernel/tsc.c Thu Dec 14 16:40:14 2006 -0800 +++ b/arch/i386/kernel/tsc.c Thu Dec 14 16:40:16 2006 -0800 @@ -23,6 +23,7 @@ * an extra value to store the TSC freq */ unsigned int tsc_khz; +unsigned long long (*custom_sched_clock)(void); int tsc_disable __cpuinitdata = 0; @@ -107,6 +108,9 @@ unsigned long long sched_clock(void) { unsigned long long this_offset; + if (unlikely(custom_sched_clock)) + return (*custom_sched_clock)(); + /* * in the NUMA case we dont use the TSC as they are not * synchronized a...
2007 Apr 18
0
[PATCH 6/6] VMI timer patches
...atic long clock_cmos_diff; diff -r 77e4058e936b arch/i386/kernel/tsc.c --- a/arch/i386/kernel/tsc.c Thu Dec 14 16:40:14 2006 -0800 +++ b/arch/i386/kernel/tsc.c Thu Dec 14 16:40:16 2006 -0800 @@ -23,6 +23,7 @@ * an extra value to store the TSC freq */ unsigned int tsc_khz; +unsigned long long (*custom_sched_clock)(void); int tsc_disable __cpuinitdata = 0; @@ -107,6 +108,9 @@ unsigned long long sched_clock(void) { unsigned long long this_offset; + if (unlikely(custom_sched_clock)) + return (*custom_sched_clock)(); + /* * in the NUMA case we dont use the TSC as they are not * synchronized a...
2007 Apr 18
0
[PATCH 5/5] Vmi timer.patch
...atic long clock_cmos_diff; diff -r d1ec5a6e3e8c arch/i386/kernel/tsc.c --- a/arch/i386/kernel/tsc.c Tue Dec 12 13:53:09 2006 -0800 +++ b/arch/i386/kernel/tsc.c Tue Dec 12 13:53:15 2006 -0800 @@ -23,6 +23,7 @@ * an extra value to store the TSC freq */ unsigned int tsc_khz; +unsigned long long (*custom_sched_clock)(void); int tsc_disable __cpuinitdata = 0; @@ -107,6 +108,9 @@ unsigned long long sched_clock(void) { unsigned long long this_offset; + if (unlikely(custom_sched_clock)) + return (*custom_sched_clock)(); + /* * in the NUMA case we dont use the TSC as they are not * synchronized a...
2007 Apr 18
0
[PATCH 5/5] Vmi timer.patch
...atic long clock_cmos_diff; diff -r d1ec5a6e3e8c arch/i386/kernel/tsc.c --- a/arch/i386/kernel/tsc.c Tue Dec 12 13:53:09 2006 -0800 +++ b/arch/i386/kernel/tsc.c Tue Dec 12 13:53:15 2006 -0800 @@ -23,6 +23,7 @@ * an extra value to store the TSC freq */ unsigned int tsc_khz; +unsigned long long (*custom_sched_clock)(void); int tsc_disable __cpuinitdata = 0; @@ -107,6 +108,9 @@ unsigned long long sched_clock(void) { unsigned long long this_offset; + if (unlikely(custom_sched_clock)) + return (*custom_sched_clock)(); + /* * in the NUMA case we dont use the TSC as they are not * synchronized a...
2007 Apr 18
0
[PATCH 1/9] Vmi timer fixes round two.patch
...t); -#else - vmi_ops.halt = vmi_get_function(VMI_CALL_Halt); - paravirt_ops.safe_halt = vmi_safe_halt; -#endif + para_fill(wbinvd, WBINVD); /* paravirt_ops.read_msr = vmi_rdmsr */ /* paravirt_ops.write_msr = vmi_wrmsr */ @@ -881,6 +875,12 @@ static inline int __init activate_vmi(vo #endif custom_sched_clock = vmi_sched_clock; } + if (!disable_noidle) + para_fill(safe_halt, Halt); + else { + vmi_ops.halt = vmi_get_function(VMI_CALL_Halt); + paravirt_ops.safe_halt = vmi_safe_halt; + } /* * Alternative instruction rewriting doesn't happen soon enough @@ -914,9 +914,11 @@ void __init vmi_i...
2007 Apr 18
0
[PATCH 1/9] Vmi timer fixes round two.patch
...t); -#else - vmi_ops.halt = vmi_get_function(VMI_CALL_Halt); - paravirt_ops.safe_halt = vmi_safe_halt; -#endif + para_fill(wbinvd, WBINVD); /* paravirt_ops.read_msr = vmi_rdmsr */ /* paravirt_ops.write_msr = vmi_wrmsr */ @@ -881,6 +875,12 @@ static inline int __init activate_vmi(vo #endif custom_sched_clock = vmi_sched_clock; } + if (!disable_noidle) + para_fill(safe_halt, Halt); + else { + vmi_ops.halt = vmi_get_function(VMI_CALL_Halt); + paravirt_ops.safe_halt = vmi_safe_halt; + } /* * Alternative instruction rewriting doesn't happen soon enough @@ -914,9 +914,11 @@ void __init vmi_i...