search for: get_tsc

Displaying 5 results from an estimated 5 matches for "get_tsc".

2007 Apr 18
1
[RFC, PATCH 21/24] i386 Vmi proc node
...; + +struct pnp_header { + char sig[4]; + char rev; + char size; + short next; + short res; + long devID; + unsigned short manufacturer_offset; + unsigned short product_offset; +} __attribute__((packed)); + +/* XXX This hack can only be used with passthrough TSC */ +static inline unsigned long long get_tsc(void) +{ + unsigned long long tsc; + asm volatile("rdtsc" : "=&A" (tsc)); + return tsc; +} + +static unsigned long long hypercall_cycles = 0xffffffffULL; +static void time_hypercall(void) +{ + unsigned long long tsc_start, tsc_end, cycles; + int i; + for...
2007 Apr 18
1
[RFC, PATCH 21/24] i386 Vmi proc node
...; + +struct pnp_header { + char sig[4]; + char rev; + char size; + short next; + short res; + long devID; + unsigned short manufacturer_offset; + unsigned short product_offset; +} __attribute__((packed)); + +/* XXX This hack can only be used with passthrough TSC */ +static inline unsigned long long get_tsc(void) +{ + unsigned long long tsc; + asm volatile("rdtsc" : "=&A" (tsc)); + return tsc; +} + +static unsigned long long hypercall_cycles = 0xffffffffULL; +static void time_hypercall(void) +{ + unsigned long long tsc_start, tsc_end, cycles; + int i; + for...
2013 Oct 28
5
FreeBSD PVH guest support
...re.s: * Reserve space for the hypercall page. sys/i386/i386/machdep.c: * Create a generic DELAY function. sys/i386/xen/xen_machdep.c: * Set HYPERVISOR_start_info. sys/x86/isa/clock.c: * Rename the generic DELAY function to i8254_delay. sys/x86/x86/delay.c: * Put generic delay helpers here, get_tsc and delay_tc. sys/x86/x86/local_apic.c: * Prevent the local apic from attaching when running on PVH mode. sys/x86/xen/hvm.c: * Set the start_all_aps hook. * Fix the setting of the hypercall page now that we are using the same mechanism as the PV port. * Initialize Xen CPU hooks for the PVH...
2007 Apr 18
1
[RFC, PATCH 24/24] i386 Vmi no idle hz
...t product_offset; } __attribute__((packed)); +#ifdef CONFIG_NO_IDLE_HZ +extern DEFINE_PER_CPU(unsigned long, vmi_idle_no_hz_irqs); +extern DEFINE_PER_CPU(unsigned 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 idl...
2007 Apr 18
1
[RFC, PATCH 24/24] i386 Vmi no idle hz
...t product_offset; } __attribute__((packed)); +#ifdef CONFIG_NO_IDLE_HZ +extern DEFINE_PER_CPU(unsigned long, vmi_idle_no_hz_irqs); +extern DEFINE_PER_CPU(unsigned 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 idl...