Displaying 4 results from an estimated 4 matches for "page_fault_cycl".
Did you mean:
page_fault_cycles
2007 Apr 18
1
[RFC, PATCH 21/24] i386 Vmi proc node
...)
+{
+ unsigned long long tsc_start, tsc_end, cycles;
+ int i;
+ for (i = 0; i < 1000; i++) {
+ tsc_start = get_tsc();
+ vmi_rdtsc();
+ tsc_end = get_tsc();
+ cycles = tsc_end - tsc_start;
+ if (cycles < hypercall_cycles)
+ hypercall_cycles = cycles;
+ }
+}
+
+static unsigned long long page_fault_cycles = 0xffffffffULL;
+static void time_page_fault(void)
+{
+ unsigned long long tsc_start, tsc_end, cycles;
+ int i;
+ for (i = 0; i < 1000; i++) {
+ tsc_start = get_tsc();
+ asm volatile(
+ "1: mov %%eax,0 \n"
+ "2: \n"
+ ".section __ex_table,\"a\"\n&q...
2007 Apr 18
1
[RFC, PATCH 21/24] i386 Vmi proc node
...)
+{
+ unsigned long long tsc_start, tsc_end, cycles;
+ int i;
+ for (i = 0; i < 1000; i++) {
+ tsc_start = get_tsc();
+ vmi_rdtsc();
+ tsc_end = get_tsc();
+ cycles = tsc_end - tsc_start;
+ if (cycles < hypercall_cycles)
+ hypercall_cycles = cycles;
+ }
+}
+
+static unsigned long long page_fault_cycles = 0xffffffffULL;
+static void time_page_fault(void)
+{
+ unsigned long long tsc_start, tsc_end, cycles;
+ int i;
+ for (i = 0; i < 1000; i++) {
+ tsc_start = get_tsc();
+ asm volatile(
+ "1: mov %%eax,0 \n"
+ "2: \n"
+ ".section __ex_table,\"a\"\n&q...
2007 Apr 18
1
[RFC, PATCH 24/24] i386 Vmi no idle hz
...igned long, vmi_idle_no_hz_jiffies);
+#endif
+
/* XXX This hack can only be used with passthrough TSC */
static inline unsigned long long get_tsc(void)
{
@@ -123,6 +128,21 @@ static int proc_vmi_info_show(struct seq
time_page_fault();
seq_printf(m, "Kernel #PF cycle count: %lld\n", page_fault_cycles);
+#ifdef CONFIG_NO_IDLE_HZ
+ {
+ int i;
+ seq_printf(m, "Idle HZ:");
+ for_each_cpu(i) {
+ /* Shouldn't go idle now, so no extra synchronization needed. */
+ unsigned int irqs_per_ks = 0;
+ if (per_cpu(vmi_idle_no_hz_jiffies, i))
+ irqs_per_ks = 1000 * HZ * per_cpu(vmi_idl...
2007 Apr 18
1
[RFC, PATCH 24/24] i386 Vmi no idle hz
...igned long, vmi_idle_no_hz_jiffies);
+#endif
+
/* XXX This hack can only be used with passthrough TSC */
static inline unsigned long long get_tsc(void)
{
@@ -123,6 +128,21 @@ static int proc_vmi_info_show(struct seq
time_page_fault();
seq_printf(m, "Kernel #PF cycle count: %lld\n", page_fault_cycles);
+#ifdef CONFIG_NO_IDLE_HZ
+ {
+ int i;
+ seq_printf(m, "Idle HZ:");
+ for_each_cpu(i) {
+ /* Shouldn't go idle now, so no extra synchronization needed. */
+ unsigned int irqs_per_ks = 0;
+ if (per_cpu(vmi_idle_no_hz_jiffies, i))
+ irqs_per_ks = 1000 * HZ * per_cpu(vmi_idl...