search for: __switch_t

Displaying 20 results from an estimated 22 matches for "__switch_t".

2007 Apr 18
2
[PATCH 2/5] Paravirt cpu batching.patch
..._user = native_flush_tlb, .flush_tlb_kernel = native_flush_tlb_global, diff -r 320f0d4d2280 arch/i386/kernel/process.c --- a/arch/i386/kernel/process.c Tue Dec 12 13:50:50 2006 -0800 +++ b/arch/i386/kernel/process.c Tue Dec 12 13:50:53 2006 -0800 @@ -665,6 +665,37 @@ struct task_struct fastcall * __switch_t load_TLS(next, cpu); /* + * Restore IOPL if needed. + */ + if (unlikely(prev->iopl != next->iopl)) + set_iopl_mask(next->iopl); + + /* + * Now maybe handle debug registers and/or IO bitmaps + */ + if (unlikely((task_thread_info(next_p)->flags & _TIF_WORK_CTXSW) + || t...
2007 Apr 18
2
[PATCH 2/5] Paravirt cpu batching.patch
..._user = native_flush_tlb, .flush_tlb_kernel = native_flush_tlb_global, diff -r 320f0d4d2280 arch/i386/kernel/process.c --- a/arch/i386/kernel/process.c Tue Dec 12 13:50:50 2006 -0800 +++ b/arch/i386/kernel/process.c Tue Dec 12 13:50:53 2006 -0800 @@ -665,6 +665,37 @@ struct task_struct fastcall * __switch_t load_TLS(next, cpu); /* + * Restore IOPL if needed. + */ + if (unlikely(prev->iopl != next->iopl)) + set_iopl_mask(next->iopl); + + /* + * Now maybe handle debug registers and/or IO bitmaps + */ + if (unlikely((task_thread_info(next_p)->flags & _TIF_WORK_CTXSW) + || t...
2007 Apr 18
0
[PATCH 2/6] Paravirt CPU hypercall batching mode
..._user = native_flush_tlb, .flush_tlb_kernel = native_flush_tlb_global, diff -r 01f2e46c1416 arch/i386/kernel/process.c --- a/arch/i386/kernel/process.c Thu Dec 14 14:26:24 2006 -0800 +++ b/arch/i386/kernel/process.c Thu Dec 14 14:50:22 2006 -0800 @@ -665,6 +665,31 @@ struct task_struct fastcall * __switch_t load_TLS(next, cpu); /* + * Now maybe handle debug registers and/or IO bitmaps + */ + if (unlikely((task_thread_info(next_p)->flags & _TIF_WORK_CTXSW) + || test_tsk_thread_flag(prev_p, TIF_IO_BITMAP))) + __switch_to_xtra(next_p, tss); + + disable_tsc(prev_p, next_p); + + /* + *...
2007 Apr 18
0
[PATCH 2/6] Paravirt CPU hypercall batching mode
..._user = native_flush_tlb, .flush_tlb_kernel = native_flush_tlb_global, diff -r 01f2e46c1416 arch/i386/kernel/process.c --- a/arch/i386/kernel/process.c Thu Dec 14 14:26:24 2006 -0800 +++ b/arch/i386/kernel/process.c Thu Dec 14 14:50:22 2006 -0800 @@ -665,6 +665,31 @@ struct task_struct fastcall * __switch_t load_TLS(next, cpu); /* + * Now maybe handle debug registers and/or IO bitmaps + */ + if (unlikely((task_thread_info(next_p)->flags & _TIF_WORK_CTXSW) + || test_tsk_thread_flag(prev_p, TIF_IO_BITMAP))) + __switch_to_xtra(next_p, tss); + + disable_tsc(prev_p, next_p); + + /* + *...
2007 Apr 18
0
[PATCH 3/6] IOPL handling for paravirt guests
...r paravirt guests Signed-off-by: Zachary Amsden <zach@vmware.com> diff -r 8110943fd7ad arch/i386/kernel/process.c --- a/arch/i386/kernel/process.c Thu Dec 14 16:15:20 2006 -0800 +++ b/arch/i386/kernel/process.c Thu Dec 14 16:21:57 2006 -0800 @@ -665,6 +665,15 @@ struct task_struct fastcall * __switch_t load_TLS(next, cpu); /* + * Restore IOPL if needed. In normal use, the flags restore + * in the switch assembly will handle this. But if the kernel + * is running virtualized at a non-zero CPL, the popf will + * not restore flags, so it must be done in a separate step. + */ + if (get_k...
2007 Apr 18
0
[PATCH 3/6] IOPL handling for paravirt guests
...r paravirt guests Signed-off-by: Zachary Amsden <zach@vmware.com> diff -r 8110943fd7ad arch/i386/kernel/process.c --- a/arch/i386/kernel/process.c Thu Dec 14 16:15:20 2006 -0800 +++ b/arch/i386/kernel/process.c Thu Dec 14 16:21:57 2006 -0800 @@ -665,6 +665,15 @@ struct task_struct fastcall * __switch_t load_TLS(next, cpu); /* + * Restore IOPL if needed. In normal use, the flags restore + * in the switch assembly will handle this. But if the kernel + * is running virtualized at a non-zero CPL, the popf will + * not restore flags, so it must be done in a separate step. + */ + if (get_k...
2012 Jun 29
0
[PATCH] linux-2.6.18/x86: improve CR0 read/write handling
...pu == 0 && cpu_gdt_descr->address == 0) { gdt = (struct desc_struct *)alloc_bootmem_pages(PAGE_SIZE); /* alloc_bootmem_pages panics on failure, so no check */ --- a/arch/i386/kernel/process-xen.c +++ b/arch/i386/kernel/process-xen.c @@ -641,6 +641,8 @@ struct task_struct fastcall * __switch_t BUG_ON(mcl > _mcl + ARRAY_SIZE(_mcl)); if (unlikely(HYPERVISOR_multicall_check(_mcl, mcl - _mcl, NULL))) BUG(); + if (_mcl->op == __HYPERVISOR_fpu_taskswitch) + __get_cpu_var(xen_x86_cr0) |= X86_CR0_TS; /* * Restore %fs and %gs if needed. --- a/arch/i386/kernel/traps-xen.c +++...
2007 Apr 18
1
[RFC, PATCH 19/24] i386 Vmi mmu changes
...ocess.c =================================================================== --- linux-2.6.16-rc5.orig/arch/i386/kernel/process.c 2006-03-10 13:03:36.000000000 -0800 +++ linux-2.6.16-rc5/arch/i386/kernel/process.c 2006-03-10 15:57:34.000000000 -0800 @@ -662,18 +662,6 @@ struct task_struct fastcall * __switch_t load_TLS(next, cpu); /* - * Restore %fs and %gs if needed. - * - * Glibc normally makes %fs be zero, and %gs is one of - * the TLS segments. - */ - if (unlikely(prev->fs | next->fs)) - loadsegment(fs, next->fs); - - if (prev->gs | next->gs) - loadsegment(gs, next->gs)...
2007 Apr 18
1
[RFC, PATCH 19/24] i386 Vmi mmu changes
...ocess.c =================================================================== --- linux-2.6.16-rc5.orig/arch/i386/kernel/process.c 2006-03-10 13:03:36.000000000 -0800 +++ linux-2.6.16-rc5/arch/i386/kernel/process.c 2006-03-10 15:57:34.000000000 -0800 @@ -662,18 +662,6 @@ struct task_struct fastcall * __switch_t load_TLS(next, cpu); /* - * Restore %fs and %gs if needed. - * - * Glibc normally makes %fs be zero, and %gs is one of - * the TLS segments. - */ - if (unlikely(prev->fs | next->fs)) - loadsegment(fs, next->fs); - - if (prev->gs | next->gs) - loadsegment(gs, next->gs)...
2007 Apr 18
5
[patch 0/5] i386-gdt-pda i386 gdt and pda updates
Hi Andrew, This patch series adds to the end of the existing i386-gdt-cleanups patches: allow-per-cpu-variables-to-be-page-aligned.patch i386-gdt-cleanups-use-per-cpu-variables-for-gdt-pda.patch i386-gdt-cleanups-use-per-cpu-gdt-immediately-upon-boot.patch i386-gdt-cleanups-use-per-cpu-gdt-immediately-upon-boot-fix.patch i386-gdt-cleanups-clean-up-cpu_init.patch
2007 Apr 18
5
[patch 0/5] i386-gdt-pda i386 gdt and pda updates
Hi Andrew, This patch series adds to the end of the existing i386-gdt-cleanups patches: allow-per-cpu-variables-to-be-page-aligned.patch i386-gdt-cleanups-use-per-cpu-variables-for-gdt-pda.patch i386-gdt-cleanups-use-per-cpu-gdt-immediately-upon-boot.patch i386-gdt-cleanups-use-per-cpu-gdt-immediately-upon-boot-fix.patch i386-gdt-cleanups-clean-up-cpu_init.patch
2007 Apr 18
3
Per-cpu patches on top of PDA stuff...
Hi Jeremy, all, Sorry this took so long, spent last week in Japan at OSDL conf then netconf. After several false starts, I ended up with a very simple implementation, which clashes significantly with your work since then 8(. I've pushed the patches anyway, but it's going to be significant work for me to re-merge them, so I wanted your feedback first. The first patch simply changes
2007 Apr 18
3
Per-cpu patches on top of PDA stuff...
Hi Jeremy, all, Sorry this took so long, spent last week in Japan at OSDL conf then netconf. After several false starts, I ended up with a very simple implementation, which clashes significantly with your work since then 8(. I've pushed the patches anyway, but it's going to be significant work for me to re-merge them, so I wanted your feedback first. The first patch simply changes
2007 Apr 18
8
[patch 0/6] i386 gdt and percpu cleanups
Hi Andi, This is a series of patches based on your latest queue (as of the other day, at least). It includes: - the most recent patch to compute the appropriate amount of percpu space to allocate, using a separate reservation for modules where needed. - make the percpu sections page-aligned, so that percpu variables can be page aligned if needed (which is used by gdt_page) -
2007 Apr 18
8
[patch 0/6] i386 gdt and percpu cleanups
Hi Andi, This is a series of patches based on your latest queue (as of the other day, at least). It includes: - the most recent patch to compute the appropriate amount of percpu space to allocate, using a separate reservation for modules where needed. - make the percpu sections page-aligned, so that percpu variables can be page aligned if needed (which is used by gdt_page) -
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
2007 Apr 18
24
[patch 00/24] Xen-paravirt_ops: Xen guest implementation for paravirt_ops interface
Hi Andi, This patch series implements the Linux Xen guest as a paravirt_ops backend. The features in implemented this patch series are: * domU only * UP only (most code is SMP-safe, but there's no way to create a new vcpu) * writable pagetables, with late pinning/early unpinning (no shadow pagetable support) * supports both PAE and non-PAE modes * xen hvc console (console=hvc0) *
2007 Apr 18
24
[patch 00/24] Xen-paravirt_ops: Xen guest implementation for paravirt_ops interface
Hi Andi, This patch series implements the Linux Xen guest as a paravirt_ops backend. The features in implemented this patch series are: * domU only * UP only (most code is SMP-safe, but there's no way to create a new vcpu) * writable pagetables, with late pinning/early unpinning (no shadow pagetable support) * supports both PAE and non-PAE modes * xen hvc console (console=hvc0) *
2007 Apr 18
24
[patch 00/24] Xen-paravirt_ops: Xen guest implementation for paravirt_ops interface
Hi Andi, This patch series implements the Linux Xen guest as a paravirt_ops backend. The features in implemented this patch series are: * domU only * UP only (most code is SMP-safe, but there's no way to create a new vcpu) * writable pagetables, with late pinning/early unpinning (no shadow pagetable support) * supports both PAE and non-PAE modes * xen hvc console (console=hvc0) *