lkml.org 
[lkml]   [2013]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[RFC PATCH] axe the store_gdt() pvops call. (v1)
Date
Long long time ago (way back in October 2012), when I posted the patches
that would make it possible to do ACPI S3 with Xen, Peter pointed out that:
"excellent set of pvops calls that should be nukable to Kingdom Come. There
is no reason, ever, to read the IDT and GDT from the kernel... the kernel
already knows what they should be!"

http://lkml.indiana.edu/hypermail/linux/kernel/1210.2/01555.html

Merge windows happens, bugs happen, and only this week I was able to carve
out some time to dig a bit in this. I started with the GDT and found
out that we can remove it. My fear was that ACPI S3 would break but fortunatly
it has its own mechanism for reloading the GDT (and as the 32-bit
patch shows - it has an redundant one as well!). Tested on 32 bit and
64-bit kernels - doing ACPI S3 and hibernate as well. The machines
were ThinkPad T61 and an Asus M5A97.

This RFC patch does the removal of the store_gdt() and as well some of
the 32-bit ACPI S3 code. Please review at your leisure.

The patches are also visible at:

git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git devel/for-hpa-3.10

arch/x86/include/asm/paravirt.h | 4 ----
arch/x86/include/asm/paravirt_types.h | 2 +-
arch/x86/include/asm/suspend_32.h | 1 -
arch/x86/include/asm/suspend_64.h | 3 ---
arch/x86/kernel/acpi/sleep.c | 2 +-
arch/x86/kernel/acpi/wakeup_32.S | 3 ---
arch/x86/kernel/doublefault_32.c | 2 +-
arch/x86/kernel/paravirt.c | 1 -
arch/x86/kvm/vmx.c | 2 +-
arch/x86/power/cpu.c | 13 +++++++------
arch/x86/xen/enlighten.c | 1 -
11 files changed, 11 insertions(+), 23 deletions(-)

Konrad Rzeszutek Wilk (3):
x86/gdt/64-bit: store/load GDT for ACPI S3 or hibernate/resume path is not needed.
x86/gdt/i386: store/load GDT for ACPI S3 or hibernation/resume path is not needed
x86/xen/store_gdt: Remove the pvops variant of store_gdt.

konrad@kernel.org (1):
x86/wakeup/sleep: Use pvops functions for changing GDT entries.



\
 
 \ /
  Last update: 2013-04-06 02:02    [W:0.074 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site