search for: io_delay

Displaying 20 results from an estimated 132 matches for "io_delay".

2007 Apr 19
3
[RFC, PATCH 1/5] Paravirt_ops full patching.patch
...)), \ + [_arg5] "mr" ((u32)(arg5))) + static inline int paravirt_enabled(void) { return paravirt_ops.paravirt_enabled; @@ -644,11 +658,11 @@ static inline void set_iopl_mask(unsigne /* The paravirtualized I/O functions */ static inline void slow_down_io(void) { - paravirt_ops.io_delay(); + PVOP_VCALL0(io_delay); #ifdef REALLY_SLOW_IO - paravirt_ops.io_delay(); - paravirt_ops.io_delay(); - paravirt_ops.io_delay(); + PVOP_VCALL0(io_delay); + PVOP_VCALL0(io_delay); + PVOP_VCALL0(io_delay); #endif } @@ -824,8 +838,7 @@ static inline void set_pte_at(struct mm_ static inline voi...
2007 Apr 19
3
[RFC, PATCH 1/5] Paravirt_ops full patching.patch
...)), \ + [_arg5] "mr" ((u32)(arg5))) + static inline int paravirt_enabled(void) { return paravirt_ops.paravirt_enabled; @@ -644,11 +658,11 @@ static inline void set_iopl_mask(unsigne /* The paravirtualized I/O functions */ static inline void slow_down_io(void) { - paravirt_ops.io_delay(); + PVOP_VCALL0(io_delay); #ifdef REALLY_SLOW_IO - paravirt_ops.io_delay(); - paravirt_ops.io_delay(); - paravirt_ops.io_delay(); + PVOP_VCALL0(io_delay); + PVOP_VCALL0(io_delay); + PVOP_VCALL0(io_delay); #endif } @@ -824,8 +838,7 @@ static inline void set_pte_at(struct mm_ static inline voi...
2007 Apr 18
1
RFC: const_udelay in 018-delay functions patch
...rpose, I have introduced a way to override the paravirt-ops implementation, by defining USE_REAL_TIME_DELAY before the header files are included. Similarly, the boot decompressor uses I/O instructions, and it cannot yet use the paravirt-ops versions. So it must undefine CONFIG_PARAVIRT to prevent io_delay from being redefined. Signed-off-by: Zachary Amsden <zach@vmware.com> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- a/arch/i386...
2007 Apr 18
1
RFC: const_udelay in 018-delay functions patch
...rpose, I have introduced a way to override the paravirt-ops implementation, by defining USE_REAL_TIME_DELAY before the header files are included. Similarly, the boot decompressor uses I/O instructions, and it cannot yet use the paravirt-ops versions. So it must undefine CONFIG_PARAVIRT to prevent io_delay from being redefined. Signed-off-by: Zachary Amsden <zach@vmware.com> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- a/arch/i386...
2009 Nov 18
1
[PATCH] Replace kvm io delay pv-ops with linux magic
Currently we use pv-ops to tell linux not to do anything on io_delay. While the basic idea is good IMHO, I don't see why we would need pv-ops for that. The io delay function already has a switch that can do nothing if you're so inclined. So here's a patch (stacked on top of the previous pv-ops series) that removes the io delay pv-ops hook and just sets...
2009 Nov 18
1
[PATCH] Replace kvm io delay pv-ops with linux magic
Currently we use pv-ops to tell linux not to do anything on io_delay. While the basic idea is good IMHO, I don't see why we would need pv-ops for that. The io delay function already has a switch that can do nothing if you're so inclined. So here's a patch (stacked on top of the previous pv-ops series) that removes the io delay pv-ops hook and just sets...
2018 Aug 10
0
[PATCH 04/10] x86/paravirt: use a single ops structure
...de/asm/paravirt.h index 76b4b5c056f3..1b86bb319393 100644 --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include/asm/paravirt.h @@ -265,11 +265,11 @@ static inline void set_iopl_mask(unsigned mask) /* The paravirtualized I/O functions */ static inline void slow_down_io(void) { - pv_cpu_ops.io_delay(); + pv_ops.pv_cpu_ops.io_delay(); #ifdef REALLY_SLOW_IO - pv_cpu_ops.io_delay(); - pv_cpu_ops.io_delay(); - pv_cpu_ops.io_delay(); + pv_ops.pv_cpu_ops.io_delay(); + pv_ops.pv_cpu_ops.io_delay(); + pv_ops.pv_cpu_ops.io_delay(); #endif } @@ -432,7 +432,7 @@ static inline void ptep_modify_prot_c...
2016 Oct 26
5
[PATCH 0/3] x86/vmware guest improvements
This patchset includes several VMware guest improvements: Alexey Makhalov (3): x86/vmware: Use tsc_khz value for calibrate_cpu() x86/vmware: Add basic paravirt ops support x86/vmware: Add paravirt sched clock Documentation/kernel-parameters.txt | 4 +++ arch/x86/kernel/cpu/vmware.c | 51 +++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) -- 2.10.1
2016 Oct 26
5
[PATCH 0/3] x86/vmware guest improvements
This patchset includes several VMware guest improvements: Alexey Makhalov (3): x86/vmware: Use tsc_khz value for calibrate_cpu() x86/vmware: Add basic paravirt ops support x86/vmware: Add paravirt sched clock Documentation/kernel-parameters.txt | 4 +++ arch/x86/kernel/cpu/vmware.c | 51 +++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) -- 2.10.1
2014 Nov 02
0
[PATCH v4 04/10] x86: paravirt: Wrap initialization of set_iopl_mask in a macro
...m/paravirt_types.h +++ b/arch/x86/include/asm/paravirt_types.h @@ -143,6 +143,7 @@ struct pv_cpu_ops { void (*load_sp0)(struct tss_struct *tss, struct thread_struct *t); void (*set_iopl_mask)(unsigned mask); +#define INIT_SET_IOPL_MASK(f) .set_iopl_mask = f, void (*wbinvd)(void); void (*io_delay)(void); diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c index 548d25f..e7969d4 100644 --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c @@ -383,7 +383,7 @@ __visible struct pv_cpu_ops pv_cpu_ops = { .iret = native_iret, .swapgs = native_swapgs, - .set_iopl...
2014 Nov 02
0
[PATCH v4 04/10] x86: paravirt: Wrap initialization of set_iopl_mask in a macro
...m/paravirt_types.h +++ b/arch/x86/include/asm/paravirt_types.h @@ -143,6 +143,7 @@ struct pv_cpu_ops { void (*load_sp0)(struct tss_struct *tss, struct thread_struct *t); void (*set_iopl_mask)(unsigned mask); +#define INIT_SET_IOPL_MASK(f) .set_iopl_mask = f, void (*wbinvd)(void); void (*io_delay)(void); diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c index 548d25f..e7969d4 100644 --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c @@ -383,7 +383,7 @@ __visible struct pv_cpu_ops pv_cpu_ops = { .iret = native_iret, .swapgs = native_swapgs, - .set_iopl...
2018 Aug 10
13
[PATCH 00/10] x86/paravirt: several cleanups
This series removes some no longer needed stuff from paravirt infrastructure and puts large quantities of paravirt ops under a new config option PARAVIRT_XXL which is selected by XEN_PV only. A pvops kernel without XEN_PV being configured is about 2.5% smaller with this series applied. tip commit 5800dc5c19f34e6e03b5adab1282535cb102fafd ("x86/paravirt: Fix spectre-v2 mitigations for
2007 Apr 18
0
[PATCH 5/9] Paravirt drop udelay op
...h@vmware.com> diff -r 135d1b73c878 arch/i386/kernel/paravirt.c --- a/arch/i386/kernel/paravirt.c Tue Feb 27 16:23:56 2007 -0800 +++ b/arch/i386/kernel/paravirt.c Tue Feb 27 16:25:26 2007 -0800 @@ -538,7 +538,6 @@ struct paravirt_ops paravirt_ops = { .set_iopl_mask = native_set_iopl_mask, .io_delay = native_io_delay, - .const_udelay = __const_udelay, #ifdef CONFIG_X86_LOCAL_APIC .apic_write = native_apic_write, diff -r 135d1b73c878 arch/i386/kernel/smpboot.c --- a/arch/i386/kernel/smpboot.c Tue Feb 27 16:23:56 2007 -0800 +++ b/arch/i386/kernel/smpboot.c Tue Feb 27 16:27:16 2007 -0800 @@...
2007 Apr 18
0
[PATCH 5/9] Paravirt drop udelay op
...h@vmware.com> diff -r 135d1b73c878 arch/i386/kernel/paravirt.c --- a/arch/i386/kernel/paravirt.c Tue Feb 27 16:23:56 2007 -0800 +++ b/arch/i386/kernel/paravirt.c Tue Feb 27 16:25:26 2007 -0800 @@ -538,7 +538,6 @@ struct paravirt_ops paravirt_ops = { .set_iopl_mask = native_set_iopl_mask, .io_delay = native_io_delay, - .const_udelay = __const_udelay, #ifdef CONFIG_X86_LOCAL_APIC .apic_write = native_apic_write, diff -r 135d1b73c878 arch/i386/kernel/smpboot.c --- a/arch/i386/kernel/smpboot.c Tue Feb 27 16:23:56 2007 -0800 +++ b/arch/i386/kernel/smpboot.c Tue Feb 27 16:27:16 2007 -0800 @@...
2007 Oct 09
2
[PATCH RFC REPOST 1/2] paravirt: refactor struct paravirt_ops into smaller pv_*_ops
...ive_store_gdt, - .store_idt = native_store_idt, - .store_tr = native_store_tr, - .load_tls = native_load_tls, - .write_ldt_entry = write_dt_entry, - .write_gdt_entry = write_dt_entry, - .write_idt_entry = write_dt_entry, - .load_esp0 = native_load_esp0, - - .set_iopl_mask = native_set_iopl_mask, - .io_delay = native_io_delay, - + .pv_info = { + .name = "bare hardware", + .paravirt_enabled = 0, + .kernel_rpl = 0, + .shared_kernel_pmd = 1, /* Only used when CONFIG_X86_PAE is set */ + }, + + .pv_init_ops = { + .patch = native_patch, + .banner = default_banner, + .arch_setup = paravirt...
2007 Oct 09
2
[PATCH RFC REPOST 1/2] paravirt: refactor struct paravirt_ops into smaller pv_*_ops
...ive_store_gdt, - .store_idt = native_store_idt, - .store_tr = native_store_tr, - .load_tls = native_load_tls, - .write_ldt_entry = write_dt_entry, - .write_gdt_entry = write_dt_entry, - .write_idt_entry = write_dt_entry, - .load_esp0 = native_load_esp0, - - .set_iopl_mask = native_set_iopl_mask, - .io_delay = native_io_delay, - + .pv_info = { + .name = "bare hardware", + .paravirt_enabled = 0, + .kernel_rpl = 0, + .shared_kernel_pmd = 1, /* Only used when CONFIG_X86_PAE is set */ + }, + + .pv_init_ops = { + .patch = native_patch, + .banner = default_banner, + .arch_setup = paravirt...
2007 Sep 28
2
[PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops
...ive_store_gdt, - .store_idt = native_store_idt, - .store_tr = native_store_tr, - .load_tls = native_load_tls, - .write_ldt_entry = write_dt_entry, - .write_gdt_entry = write_dt_entry, - .write_idt_entry = write_dt_entry, - .load_esp0 = native_load_esp0, - - .set_iopl_mask = native_set_iopl_mask, - .io_delay = native_io_delay, - + .pv_info = { + .name = "bare hardware", + .paravirt_enabled = 0, + .kernel_rpl = 0, + .shared_kernel_pmd = 1, /* Only used when CONFIG_X86_PAE is set */ + }, + + .pv_init_ops = { + .patch = native_patch, + .banner = default_banner, + .arch_setup = paravirt...
2007 Sep 28
2
[PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops
...ive_store_gdt, - .store_idt = native_store_idt, - .store_tr = native_store_tr, - .load_tls = native_load_tls, - .write_ldt_entry = write_dt_entry, - .write_gdt_entry = write_dt_entry, - .write_idt_entry = write_dt_entry, - .load_esp0 = native_load_esp0, - - .set_iopl_mask = native_set_iopl_mask, - .io_delay = native_io_delay, - + .pv_info = { + .name = "bare hardware", + .paravirt_enabled = 0, + .kernel_rpl = 0, + .shared_kernel_pmd = 1, /* Only used when CONFIG_X86_PAE is set */ + }, + + .pv_init_ops = { + .patch = native_patch, + .banner = default_banner, + .arch_setup = paravirt...
2007 Jul 09
1
[PATCH RFC] first cut at splitting up paravirt_ops
...ive_store_gdt, - .store_idt = native_store_idt, - .store_tr = native_store_tr, - .load_tls = native_load_tls, - .write_ldt_entry = write_dt_entry, - .write_gdt_entry = write_dt_entry, - .write_idt_entry = write_dt_entry, - .load_esp0 = native_load_esp0, - - .set_iopl_mask = native_set_iopl_mask, - .io_delay = native_io_delay, - +static struct paravirt_ops paravirt_ops = { + .pv_info = { + .name = "bare hardware", + .paravirt_enabled = 0, + .kernel_rpl = 0, + .shared_kernel_pmd = 1, /* Only used when CONFIG_X86_PAE is set */ + }, + + .pv_init_ops = { + .patch = native_patch, + .banner...
2007 Jul 09
1
[PATCH RFC] first cut at splitting up paravirt_ops
...ive_store_gdt, - .store_idt = native_store_idt, - .store_tr = native_store_tr, - .load_tls = native_load_tls, - .write_ldt_entry = write_dt_entry, - .write_gdt_entry = write_dt_entry, - .write_idt_entry = write_dt_entry, - .load_esp0 = native_load_esp0, - - .set_iopl_mask = native_set_iopl_mask, - .io_delay = native_io_delay, - +static struct paravirt_ops paravirt_ops = { + .pv_info = { + .name = "bare hardware", + .paravirt_enabled = 0, + .kernel_rpl = 0, + .shared_kernel_pmd = 1, /* Only used when CONFIG_X86_PAE is set */ + }, + + .pv_init_ops = { + .patch = native_patch, + .banner...