Displaying 12 results from an estimated 12 matches for "vmi_stop_hz_timer".
2007 Apr 18
0
[PATCH 1/9] Vmi timer fixes round two.patch
...tsc;
static int disable_mtrr;
+static int disable_noidle;
/* Cached VMI operations */
struct {
@@ -255,7 +256,6 @@ static void vmi_nop(void)
}
/* For NO_IDLE_HZ, we stop the clock when halting the kernel */
-#ifdef CONFIG_NO_IDLE_HZ
static fastcall void vmi_safe_halt(void)
{
int idle = vmi_stop_hz_timer();
@@ -266,7 +266,6 @@ static fastcall void vmi_safe_halt(void)
local_irq_enable();
}
}
-#endif
#ifdef CONFIG_DEBUG_PAGE_TYPE
@@ -742,12 +741,7 @@ static inline int __init activate_vmi(vo
(char *)paravirt_ops.save_fl);
patch_offset(&irq_save_disable_callout[IRQ_PATCH_DISABL...
2007 Apr 18
0
[PATCH 1/9] Vmi timer fixes round two.patch
...tsc;
static int disable_mtrr;
+static int disable_noidle;
/* Cached VMI operations */
struct {
@@ -255,7 +256,6 @@ static void vmi_nop(void)
}
/* For NO_IDLE_HZ, we stop the clock when halting the kernel */
-#ifdef CONFIG_NO_IDLE_HZ
static fastcall void vmi_safe_halt(void)
{
int idle = vmi_stop_hz_timer();
@@ -266,7 +266,6 @@ static fastcall void vmi_safe_halt(void)
local_irq_enable();
}
}
-#endif
#ifdef CONFIG_DEBUG_PAGE_TYPE
@@ -742,12 +741,7 @@ static inline int __init activate_vmi(vo
(char *)paravirt_ops.save_fl);
patch_offset(&irq_save_disable_callout[IRQ_PATCH_DISABL...
2007 Apr 18
1
[RFC, PATCH 24/24] i386 Vmi no idle hz
...cpu,
unsigned long long cur_real_cycles,
@@ -362,6 +399,87 @@ static void vmi_local_timer_interrupt(st
vmi_account_stolen_cycles(cpu, cur_real_cycles, cur_process_times_cycles);
}
+#ifdef CONFIG_NO_IDLE_HZ
+
+/* Must be called only from idle loop, with interrupts disabled. */
+void vmi_stop_hz_timer(void)
+{
+ /* Note that cpu_set, cpu_clear are (SMP safe) atomic on x86. */
+
+ unsigned long seq, next;
+ unsigned long long real_cycles_expiry;
+ int cpu = smp_processor_id();
+
+ /* Allow disabling via /proc/sys/kernel/hz_timer. */
+ if (sysctl_hz_timer != 0)
+ return;
+
+ /* Set nohz_cpu_mask,...
2007 Apr 18
1
[RFC, PATCH 24/24] i386 Vmi no idle hz
...cpu,
unsigned long long cur_real_cycles,
@@ -362,6 +399,87 @@ static void vmi_local_timer_interrupt(st
vmi_account_stolen_cycles(cpu, cur_real_cycles, cur_process_times_cycles);
}
+#ifdef CONFIG_NO_IDLE_HZ
+
+/* Must be called only from idle loop, with interrupts disabled. */
+void vmi_stop_hz_timer(void)
+{
+ /* Note that cpu_set, cpu_clear are (SMP safe) atomic on x86. */
+
+ unsigned long seq, next;
+ unsigned long long real_cycles_expiry;
+ int cpu = smp_processor_id();
+
+ /* Allow disabling via /proc/sys/kernel/hz_timer. */
+ if (sysctl_hz_timer != 0)
+ return;
+
+ /* Set nohz_cpu_mask,...
2007 Apr 18
1
[PATCH 9/10] Vmi timer update.patch
...e);
} vmi_ops;
+/* Cached VMI operations */
+struct vmi_timer_ops vmi_timer_ops;
+
/*
* VMI patching routines.
*/
@@ -231,18 +234,6 @@ static void vmi_nop(void)
{
}
-/* For NO_IDLE_HZ, we stop the clock when halting the kernel */
-static fastcall void vmi_safe_halt(void)
-{
- int idle = vmi_stop_hz_timer();
- vmi_ops.halt();
- if (idle) {
- local_irq_disable();
- vmi_account_time_restart_hz_timer();
- local_irq_enable();
- }
-}
-
#ifdef CONFIG_DEBUG_PAGE_TYPE
#ifdef CONFIG_X86_PAE
@@ -714,7 +705,6 @@ do { \
vmi_ops.cache = (void *)rel->eip; \
} \
} while (0)
-
/*...
2007 Apr 18
1
[PATCH 9/10] Vmi timer update.patch
...e);
} vmi_ops;
+/* Cached VMI operations */
+struct vmi_timer_ops vmi_timer_ops;
+
/*
* VMI patching routines.
*/
@@ -231,18 +234,6 @@ static void vmi_nop(void)
{
}
-/* For NO_IDLE_HZ, we stop the clock when halting the kernel */
-static fastcall void vmi_safe_halt(void)
-{
- int idle = vmi_stop_hz_timer();
- vmi_ops.halt();
- if (idle) {
- local_irq_disable();
- vmi_account_time_restart_hz_timer();
- local_irq_enable();
- }
-}
-
#ifdef CONFIG_DEBUG_PAGE_TYPE
#ifdef CONFIG_X86_PAE
@@ -714,7 +705,6 @@ do { \
vmi_ops.cache = (void *)rel->eip; \
} \
} while (0)
-
/*...
2007 Apr 18
0
[PATCH 6/6] VMI timer patches
..., int);
+ void (fastcall *halt)(void);
} vmi_ops;
/* XXX move this to alternative.h */
@@ -252,7 +254,20 @@ static void vmi_nop(void)
{
}
-
+/* For NO_IDLE_HZ, we stop the clock when halting the kernel */
+#ifdef CONFIG_NO_IDLE_HZ
+static fastcall void vmi_safe_halt(void)
+{
+ int idle = vmi_stop_hz_timer();
+ vmi_ops.halt();
+ if (idle) {
+ local_irq_disable();
+ vmi_account_time_restart_hz_timer();
+ local_irq_enable();
+ }
+}
+#endif
+
#ifdef CONFIG_DEBUG_PAGE_TYPE
#ifdef CONFIG_X86_PAE
@@ -726,7 +741,12 @@ static inline int __init activate_vmi(vo
(char *)paravirt_ops.save_fl);
p...
2007 Apr 18
0
[PATCH 6/6] VMI timer patches
..., int);
+ void (fastcall *halt)(void);
} vmi_ops;
/* XXX move this to alternative.h */
@@ -252,7 +254,20 @@ static void vmi_nop(void)
{
}
-
+/* For NO_IDLE_HZ, we stop the clock when halting the kernel */
+#ifdef CONFIG_NO_IDLE_HZ
+static fastcall void vmi_safe_halt(void)
+{
+ int idle = vmi_stop_hz_timer();
+ vmi_ops.halt();
+ if (idle) {
+ local_irq_disable();
+ vmi_account_time_restart_hz_timer();
+ local_irq_enable();
+ }
+}
+#endif
+
#ifdef CONFIG_DEBUG_PAGE_TYPE
#ifdef CONFIG_X86_PAE
@@ -726,7 +741,12 @@ static inline int __init activate_vmi(vo
(char *)paravirt_ops.save_fl);
p...
2007 Apr 18
0
[PATCH 5/5] Vmi timer.patch
..., int);
+ void (fastcall *halt)(void);
} vmi_ops;
/* XXX move this to alternative.h */
@@ -252,7 +254,20 @@ static void vmi_nop(void)
{
}
-
+/* For NO_IDLE_HZ, we stop the clock when halting the kernel */
+#ifdef CONFIG_NO_IDLE_HZ
+static fastcall void vmi_safe_halt(void)
+{
+ int idle = vmi_stop_hz_timer();
+ vmi_ops.halt();
+ if (idle) {
+ local_irq_disable();
+ vmi_account_time_restart_hz_timer();
+ local_irq_enable();
+ }
+}
+#endif
+
#ifdef CONFIG_DEBUG_PAGE_TYPE
#ifdef CONFIG_X86_PAE
@@ -726,7 +741,12 @@ static inline int __init activate_vmi(vo
(char *)paravirt_ops.save_fl);
p...
2007 Apr 18
0
[PATCH 5/5] Vmi timer.patch
..., int);
+ void (fastcall *halt)(void);
} vmi_ops;
/* XXX move this to alternative.h */
@@ -252,7 +254,20 @@ static void vmi_nop(void)
{
}
-
+/* For NO_IDLE_HZ, we stop the clock when halting the kernel */
+#ifdef CONFIG_NO_IDLE_HZ
+static fastcall void vmi_safe_halt(void)
+{
+ int idle = vmi_stop_hz_timer();
+ vmi_ops.halt();
+ if (idle) {
+ local_irq_disable();
+ vmi_account_time_restart_hz_timer();
+ local_irq_enable();
+ }
+}
+#endif
+
#ifdef CONFIG_DEBUG_PAGE_TYPE
#ifdef CONFIG_X86_PAE
@@ -726,7 +741,12 @@ static inline int __init activate_vmi(vo
(char *)paravirt_ops.save_fl);
p...
2007 Apr 18
31
[PATCH 00/28] Updates for firstfloor paravirt-ops patches
Hi Andi,
This is a set of updates for the firstfloor patch queue.
Quick rundown:
revert-mm-x86_64-mm-account-for-module-percpu-space-separately-from-kernel-percpu.patch
separate-module-percpu-space.patch
Update the module percpu accounting patch
fix-ff-allow-percpu-variables-to-be-page-aligned.patch
Make sure the percpu memory allocation is page-aligned
2007 Apr 18
31
[PATCH 00/28] Updates for firstfloor paravirt-ops patches
Hi Andi,
This is a set of updates for the firstfloor patch queue.
Quick rundown:
revert-mm-x86_64-mm-account-for-module-percpu-space-separately-from-kernel-percpu.patch
separate-module-percpu-space.patch
Update the module percpu accounting patch
fix-ff-allow-percpu-variables-to-be-page-aligned.patch
Make sure the percpu memory allocation is page-aligned