All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] merge 32/64 bits realmode wakeup code
@ 2011-01-27 21:56 ` matthieu castet
  0 siblings, 0 replies; 15+ messages in thread
From: matthieu castet @ 2011-01-27 21:56 UTC (permalink / raw)
  To: Linux Kernel list, linux-acpi

[-- Attachment #1: Type: text/plain, Size: 309 bytes --]

Hi,

this patch merge 32 and 64 realmode wakeup code :
- this mean less ifdef in code
- we could remove now unused field in wakeup_header (pmode_*)
- this allow to set the first 1 MB NX.

Do you think it is safe on all X86 32 bit machine ?

Matthieu


Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>

[-- Attachment #2: wake32_use_trampoline.diff --]
[-- Type: text/x-diff, Size: 3324 bytes --]

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 3ed5ad9..3baa11c 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -219,7 +219,7 @@ config X86_HT
 
 config X86_TRAMPOLINE
 	def_bool y
-	depends on SMP || (64BIT && ACPI_SLEEP)
+	depends on SMP || ACPI_SLEEP
 
 config X86_32_LAZY_GS
 	def_bool y
diff --git a/arch/x86/kernel/acpi/realmode/wakeup.S b/arch/x86/kernel/acpi/realmode/wakeup.S
index 28595d6..2c2d5b8 100644
--- a/arch/x86/kernel/acpi/realmode/wakeup.S
+++ b/arch/x86/kernel/acpi/realmode/wakeup.S
@@ -90,36 +90,10 @@ _start:
 
 	/* Do any other stuff... */
 
-#ifndef CONFIG_64BIT
-	/* This could also be done in C code... */
-	movl	pmode_cr3, %eax
-	movl	%eax, %cr3
-
-	movl	pmode_cr4, %ecx
-	jecxz	1f
-	movl	%ecx, %cr4
-1:
-	movl	pmode_efer, %eax
-	movl	pmode_efer + 4, %edx
-	movl	%eax, %ecx
-	orl	%edx, %ecx
-	jz	1f
-	movl	$MSR_EFER, %ecx
-	wrmsr
-1:
-
-	lgdtl	pmode_gdt
-
-	/* This really couldn't... */
-	movl	pmode_cr0, %eax
-	movl	%eax, %cr0
-	jmp	pmode_return
-#else
 	pushw	$0
 	pushw	trampoline_segment
 	pushw	$0
 	lret
-#endif
 
 bogus_real_magic:
 1:
diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c
index 69fd72a..d32bef9 100644
--- a/arch/x86/kernel/acpi/sleep.c
+++ b/arch/x86/kernel/acpi/sleep.c
@@ -26,7 +26,7 @@ unsigned long acpi_realmode_flags;
 /* address in low memory of the wakeup routine. */
 static unsigned long acpi_realmode;
 
-#if defined(CONFIG_SMP) && defined(CONFIG_64BIT)
+#if defined(CONFIG_SMP)
 static char temp_stack[4096];
 #endif
 
@@ -80,31 +80,24 @@ int acpi_save_state_mem(void)
 	header->wakeup_gdt[2] =
 		GDT_ENTRY(0x8093, acpi_wakeup_address, 0xfffff);
 
-#ifndef CONFIG_64BIT
-	store_gdt((struct desc_ptr *)&header->pmode_gdt);
-
-	if (rdmsr_safe(MSR_EFER, &header->pmode_efer_low,
-		       &header->pmode_efer_high))
-		header->pmode_efer_low = header->pmode_efer_high = 0;
-#endif /* !CONFIG_64BIT */
-
 	header->pmode_cr0 = read_cr0();
 	header->pmode_cr4 = read_cr4_safe();
 	header->realmode_flags = acpi_realmode_flags;
 	header->real_magic = 0x12345678;
-
-#ifndef CONFIG_64BIT
-	header->pmode_entry = (u32)&wakeup_pmode_return;
-	header->pmode_cr3 = (u32)__pa(&initial_page_table);
-	saved_magic = 0x12345678;
-#else /* CONFIG_64BIT */
 	header->trampoline_segment = setup_trampoline() >> 4;
 #ifdef CONFIG_SMP
 	stack_start.sp = temp_stack + sizeof(temp_stack);
 	early_gdt_descr.address =
 			(unsigned long)get_cpu_gdt_table(smp_processor_id());
+#ifdef CONFIG_64BIT
 	initial_gs = per_cpu_offset(smp_processor_id());
 #endif
+#endif
+
+#ifndef CONFIG_64BIT
+	initial_code = (unsigned long)&wakeup_pmode_return;
+	saved_magic = 0x12345678;
+#else
 	initial_code = (unsigned long)wakeup_long64;
        saved_magic = 0x123456789abcdef0L;
 #endif /* CONFIG_64BIT */
diff --git a/arch/x86/kernel/trampoline_32.S b/arch/x86/kernel/trampoline_32.S
index 8508237..11f0387 100644
--- a/arch/x86/kernel/trampoline_32.S
+++ b/arch/x86/kernel/trampoline_32.S
@@ -32,8 +32,12 @@
 #include <asm/segment.h>
 #include <asm/page_types.h>
 
-/* We can free up trampoline after bootup if cpu hotplug is not supported. */
+#ifdef CONFIG_ACPI_SLEEP
+.section .rodata, "a", @progbits
+#else
+/* We can free up the trampoline after bootup if cpu hotplug is not supported. */
 __CPUINITRODATA
+#endif
 .code16
 
 ENTRY(trampoline_data)

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [RFC] merge 32/64 bits realmode wakeup code
@ 2011-01-27 21:56 ` matthieu castet
  0 siblings, 0 replies; 15+ messages in thread
From: matthieu castet @ 2011-01-27 21:56 UTC (permalink / raw)
  To: Linux Kernel list, linux-acpi, Linux Kernel list

[-- Attachment #1: Type: text/plain, Size: 309 bytes --]

Hi,

this patch merge 32 and 64 realmode wakeup code :
- this mean less ifdef in code
- we could remove now unused field in wakeup_header (pmode_*)
- this allow to set the first 1 MB NX.

Do you think it is safe on all X86 32 bit machine ?

Matthieu


Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>

[-- Attachment #2: wake32_use_trampoline.diff --]
[-- Type: text/x-diff, Size: 3324 bytes --]

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 3ed5ad9..3baa11c 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -219,7 +219,7 @@ config X86_HT
 
 config X86_TRAMPOLINE
 	def_bool y
-	depends on SMP || (64BIT && ACPI_SLEEP)
+	depends on SMP || ACPI_SLEEP
 
 config X86_32_LAZY_GS
 	def_bool y
diff --git a/arch/x86/kernel/acpi/realmode/wakeup.S b/arch/x86/kernel/acpi/realmode/wakeup.S
index 28595d6..2c2d5b8 100644
--- a/arch/x86/kernel/acpi/realmode/wakeup.S
+++ b/arch/x86/kernel/acpi/realmode/wakeup.S
@@ -90,36 +90,10 @@ _start:
 
 	/* Do any other stuff... */
 
-#ifndef CONFIG_64BIT
-	/* This could also be done in C code... */
-	movl	pmode_cr3, %eax
-	movl	%eax, %cr3
-
-	movl	pmode_cr4, %ecx
-	jecxz	1f
-	movl	%ecx, %cr4
-1:
-	movl	pmode_efer, %eax
-	movl	pmode_efer + 4, %edx
-	movl	%eax, %ecx
-	orl	%edx, %ecx
-	jz	1f
-	movl	$MSR_EFER, %ecx
-	wrmsr
-1:
-
-	lgdtl	pmode_gdt
-
-	/* This really couldn't... */
-	movl	pmode_cr0, %eax
-	movl	%eax, %cr0
-	jmp	pmode_return
-#else
 	pushw	$0
 	pushw	trampoline_segment
 	pushw	$0
 	lret
-#endif
 
 bogus_real_magic:
 1:
diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c
index 69fd72a..d32bef9 100644
--- a/arch/x86/kernel/acpi/sleep.c
+++ b/arch/x86/kernel/acpi/sleep.c
@@ -26,7 +26,7 @@ unsigned long acpi_realmode_flags;
 /* address in low memory of the wakeup routine. */
 static unsigned long acpi_realmode;
 
-#if defined(CONFIG_SMP) && defined(CONFIG_64BIT)
+#if defined(CONFIG_SMP)
 static char temp_stack[4096];
 #endif
 
@@ -80,31 +80,24 @@ int acpi_save_state_mem(void)
 	header->wakeup_gdt[2] =
 		GDT_ENTRY(0x8093, acpi_wakeup_address, 0xfffff);
 
-#ifndef CONFIG_64BIT
-	store_gdt((struct desc_ptr *)&header->pmode_gdt);
-
-	if (rdmsr_safe(MSR_EFER, &header->pmode_efer_low,
-		       &header->pmode_efer_high))
-		header->pmode_efer_low = header->pmode_efer_high = 0;
-#endif /* !CONFIG_64BIT */
-
 	header->pmode_cr0 = read_cr0();
 	header->pmode_cr4 = read_cr4_safe();
 	header->realmode_flags = acpi_realmode_flags;
 	header->real_magic = 0x12345678;
-
-#ifndef CONFIG_64BIT
-	header->pmode_entry = (u32)&wakeup_pmode_return;
-	header->pmode_cr3 = (u32)__pa(&initial_page_table);
-	saved_magic = 0x12345678;
-#else /* CONFIG_64BIT */
 	header->trampoline_segment = setup_trampoline() >> 4;
 #ifdef CONFIG_SMP
 	stack_start.sp = temp_stack + sizeof(temp_stack);
 	early_gdt_descr.address =
 			(unsigned long)get_cpu_gdt_table(smp_processor_id());
+#ifdef CONFIG_64BIT
 	initial_gs = per_cpu_offset(smp_processor_id());
 #endif
+#endif
+
+#ifndef CONFIG_64BIT
+	initial_code = (unsigned long)&wakeup_pmode_return;
+	saved_magic = 0x12345678;
+#else
 	initial_code = (unsigned long)wakeup_long64;
        saved_magic = 0x123456789abcdef0L;
 #endif /* CONFIG_64BIT */
diff --git a/arch/x86/kernel/trampoline_32.S b/arch/x86/kernel/trampoline_32.S
index 8508237..11f0387 100644
--- a/arch/x86/kernel/trampoline_32.S
+++ b/arch/x86/kernel/trampoline_32.S
@@ -32,8 +32,12 @@
 #include <asm/segment.h>
 #include <asm/page_types.h>
 
-/* We can free up trampoline after bootup if cpu hotplug is not supported. */
+#ifdef CONFIG_ACPI_SLEEP
+.section .rodata, "a", @progbits
+#else
+/* We can free up the trampoline after bootup if cpu hotplug is not supported. */
 __CPUINITRODATA
+#endif
 .code16
 
 ENTRY(trampoline_data)

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [RFC] merge 32/64 bits realmode wakeup code
  2011-01-27 21:56 ` matthieu castet
  (?)
@ 2011-01-27 22:53 ` Rafael J. Wysocki
  2011-01-29 20:43     ` matthieu castet
  -1 siblings, 1 reply; 15+ messages in thread
From: Rafael J. Wysocki @ 2011-01-27 22:53 UTC (permalink / raw)
  To: matthieu castet
  Cc: Linux Kernel list, linux-acpi, H. Peter Anvin, Thomas Gleixner, x86

On Thursday, January 27, 2011, matthieu castet wrote:
> Hi,
> 
> this patch merge 32 and 64 realmode wakeup code :
> - this mean less ifdef in code
> - we could remove now unused field in wakeup_header (pmode_*)
> - this allow to set the first 1 MB NX.
> 
> Do you think it is safe on all X86 32 bit machine ?
> 
> Matthieu
> 
> 
> Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>

It _looks_ sane, but it will require some serious testing.  I'm not sure,
though, if we can get enough testing coverage without actually committing
that change.

How much testing has it received so far?

[Patch appended below for the convenience of future reviewers.  Really,
 please don't attach patches if you want people to comment them.  That's
 a major inconvenience.  Please put them into the message body instead.]

Rafael


---
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 3ed5ad9..3baa11c 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -219,7 +219,7 @@ config X86_HT
 
 config X86_TRAMPOLINE
 	def_bool y
-	depends on SMP || (64BIT && ACPI_SLEEP)
+	depends on SMP || ACPI_SLEEP
 
 config X86_32_LAZY_GS
 	def_bool y
diff --git a/arch/x86/kernel/acpi/realmode/wakeup.S b/arch/x86/kernel/acpi/realmode/wakeup.S
index 28595d6..2c2d5b8 100644
--- a/arch/x86/kernel/acpi/realmode/wakeup.S
+++ b/arch/x86/kernel/acpi/realmode/wakeup.S
@@ -90,36 +90,10 @@ _start:
 
 	/* Do any other stuff... */
 
-#ifndef CONFIG_64BIT
-	/* This could also be done in C code... */
-	movl	pmode_cr3, %eax
-	movl	%eax, %cr3
-
-	movl	pmode_cr4, %ecx
-	jecxz	1f
-	movl	%ecx, %cr4
-1:
-	movl	pmode_efer, %eax
-	movl	pmode_efer + 4, %edx
-	movl	%eax, %ecx
-	orl	%edx, %ecx
-	jz	1f
-	movl	$MSR_EFER, %ecx
-	wrmsr
-1:
-
-	lgdtl	pmode_gdt
-
-	/* This really couldn't... */
-	movl	pmode_cr0, %eax
-	movl	%eax, %cr0
-	jmp	pmode_return
-#else
 	pushw	$0
 	pushw	trampoline_segment
 	pushw	$0
 	lret
-#endif
 
 bogus_real_magic:
 1:
diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c
index 69fd72a..d32bef9 100644
--- a/arch/x86/kernel/acpi/sleep.c
+++ b/arch/x86/kernel/acpi/sleep.c
@@ -26,7 +26,7 @@ unsigned long acpi_realmode_flags;
 /* address in low memory of the wakeup routine. */
 static unsigned long acpi_realmode;
 
-#if defined(CONFIG_SMP) && defined(CONFIG_64BIT)
+#if defined(CONFIG_SMP)
 static char temp_stack[4096];
 #endif
 
@@ -80,31 +80,24 @@ int acpi_save_state_mem(void)
 	header->wakeup_gdt[2] =
 		GDT_ENTRY(0x8093, acpi_wakeup_address, 0xfffff);
 
-#ifndef CONFIG_64BIT
-	store_gdt((struct desc_ptr *)&header->pmode_gdt);
-
-	if (rdmsr_safe(MSR_EFER, &header->pmode_efer_low,
-		       &header->pmode_efer_high))
-		header->pmode_efer_low = header->pmode_efer_high = 0;
-#endif /* !CONFIG_64BIT */
-
 	header->pmode_cr0 = read_cr0();
 	header->pmode_cr4 = read_cr4_safe();
 	header->realmode_flags = acpi_realmode_flags;
 	header->real_magic = 0x12345678;
-
-#ifndef CONFIG_64BIT
-	header->pmode_entry = (u32)&wakeup_pmode_return;
-	header->pmode_cr3 = (u32)__pa(&initial_page_table);
-	saved_magic = 0x12345678;
-#else /* CONFIG_64BIT */
 	header->trampoline_segment = setup_trampoline() >> 4;
 #ifdef CONFIG_SMP
 	stack_start.sp = temp_stack + sizeof(temp_stack);
 	early_gdt_descr.address =
 			(unsigned long)get_cpu_gdt_table(smp_processor_id());
+#ifdef CONFIG_64BIT
 	initial_gs = per_cpu_offset(smp_processor_id());
 #endif
+#endif
+
+#ifndef CONFIG_64BIT
+	initial_code = (unsigned long)&wakeup_pmode_return;
+	saved_magic = 0x12345678;
+#else
 	initial_code = (unsigned long)wakeup_long64;
        saved_magic = 0x123456789abcdef0L;
 #endif /* CONFIG_64BIT */
diff --git a/arch/x86/kernel/trampoline_32.S b/arch/x86/kernel/trampoline_32.S
index 8508237..11f0387 100644
--- a/arch/x86/kernel/trampoline_32.S
+++ b/arch/x86/kernel/trampoline_32.S
@@ -32,8 +32,12 @@
 #include <asm/segment.h>
 #include <asm/page_types.h>
 
-/* We can free up trampoline after bootup if cpu hotplug is not supported. */
+#ifdef CONFIG_ACPI_SLEEP
+.section .rodata, "a", @progbits
+#else
+/* We can free up the trampoline after bootup if cpu hotplug is not supported. */
 __CPUINITRODATA
+#endif
 .code16
 
 ENTRY(trampoline_data)

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [RFC] merge 32/64 bits realmode wakeup code
  2011-01-27 22:53 ` Rafael J. Wysocki
@ 2011-01-29 20:43     ` matthieu castet
  0 siblings, 0 replies; 15+ messages in thread
From: matthieu castet @ 2011-01-29 20:43 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Linux Kernel list, linux-acpi, H. Peter Anvin, Thomas Gleixner, x86

Rafael J. Wysocki a écrit :
> On Thursday, January 27, 2011, matthieu castet wrote:
>> Hi,
>>
>> this patch merge 32 and 64 realmode wakeup code :
>> - this mean less ifdef in code
>> - we could remove now unused field in wakeup_header (pmode_*)
>> - this allow to set the first 1 MB NX.
>>
>> Do you think it is safe on all X86 32 bit machine ?
>>
>> Matthieu
>>
>>
>> Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>
> 
> It _looks_ sane, but it will require some serious testing.  I'm not sure,
> though, if we can get enough testing coverage without actually committing
> that change.
> 
> How much testing has it received so far?
> 
Not too much only qemu with 1 and 2 core and a laptop with 1 cpu.

Please note that with this patch we can also remove the gdt, idt, ldt stuff from 
arch/x86/kernel/acpi/wakeup_32.S




Matthieu
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [RFC] merge 32/64 bits realmode wakeup code
@ 2011-01-29 20:43     ` matthieu castet
  0 siblings, 0 replies; 15+ messages in thread
From: matthieu castet @ 2011-01-29 20:43 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Linux Kernel list, linux-acpi, H. Peter Anvin, Thomas Gleixner, x86

Rafael J. Wysocki a écrit :
> On Thursday, January 27, 2011, matthieu castet wrote:
>> Hi,
>>
>> this patch merge 32 and 64 realmode wakeup code :
>> - this mean less ifdef in code
>> - we could remove now unused field in wakeup_header (pmode_*)
>> - this allow to set the first 1 MB NX.
>>
>> Do you think it is safe on all X86 32 bit machine ?
>>
>> Matthieu
>>
>>
>> Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>
> 
> It _looks_ sane, but it will require some serious testing.  I'm not sure,
> though, if we can get enough testing coverage without actually committing
> that change.
> 
> How much testing has it received so far?
> 
Not too much only qemu with 1 and 2 core and a laptop with 1 cpu.

Please note that with this patch we can also remove the gdt, idt, ldt stuff from 
arch/x86/kernel/acpi/wakeup_32.S




Matthieu

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [RFC] merge 32/64 bits realmode wakeup code
  2011-01-29 20:43     ` matthieu castet
@ 2011-01-29 21:15       ` Rafael J. Wysocki
  -1 siblings, 0 replies; 15+ messages in thread
From: Rafael J. Wysocki @ 2011-01-29 21:15 UTC (permalink / raw)
  To: matthieu castet
  Cc: Linux Kernel list, linux-acpi, H. Peter Anvin, Thomas Gleixner, x86

On Saturday, January 29, 2011, matthieu castet wrote:
> Rafael J. Wysocki a écrit :
> > On Thursday, January 27, 2011, matthieu castet wrote:
> >> Hi,
> >>
> >> this patch merge 32 and 64 realmode wakeup code :
> >> - this mean less ifdef in code
> >> - we could remove now unused field in wakeup_header (pmode_*)
> >> - this allow to set the first 1 MB NX.
> >>
> >> Do you think it is safe on all X86 32 bit machine ?
> >>
> >> Matthieu
> >>
> >>
> >> Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>
> > 
> > It _looks_ sane, but it will require some serious testing.  I'm not sure,
> > though, if we can get enough testing coverage without actually committing
> > that change.
> > 
> > How much testing has it received so far?
> > 
> Not too much only qemu with 1 and 2 core and a laptop with 1 cpu.
> 
> Please note that with this patch we can also remove the gdt, idt, ldt stuff from 
> arch/x86/kernel/acpi/wakeup_32.S

That's correct, but those changes can wait.  The most urgent thing is to fix
the resume regression at hand.  I guess we should ask the reporter's in
https://bugzilla.kernel.org/show_bug.cgi?id=27472 to test that patch, right?

Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [RFC] merge 32/64 bits realmode wakeup code
@ 2011-01-29 21:15       ` Rafael J. Wysocki
  0 siblings, 0 replies; 15+ messages in thread
From: Rafael J. Wysocki @ 2011-01-29 21:15 UTC (permalink / raw)
  To: matthieu castet
  Cc: Linux Kernel list, linux-acpi, H. Peter Anvin, Thomas Gleixner, x86

On Saturday, January 29, 2011, matthieu castet wrote:
> Rafael J. Wysocki a écrit :
> > On Thursday, January 27, 2011, matthieu castet wrote:
> >> Hi,
> >>
> >> this patch merge 32 and 64 realmode wakeup code :
> >> - this mean less ifdef in code
> >> - we could remove now unused field in wakeup_header (pmode_*)
> >> - this allow to set the first 1 MB NX.
> >>
> >> Do you think it is safe on all X86 32 bit machine ?
> >>
> >> Matthieu
> >>
> >>
> >> Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>
> > 
> > It _looks_ sane, but it will require some serious testing.  I'm not sure,
> > though, if we can get enough testing coverage without actually committing
> > that change.
> > 
> > How much testing has it received so far?
> > 
> Not too much only qemu with 1 and 2 core and a laptop with 1 cpu.
> 
> Please note that with this patch we can also remove the gdt, idt, ldt stuff from 
> arch/x86/kernel/acpi/wakeup_32.S

That's correct, but those changes can wait.  The most urgent thing is to fix
the resume regression at hand.  I guess we should ask the reporter's in
https://bugzilla.kernel.org/show_bug.cgi?id=27472 to test that patch, right?

Rafael

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [RFC] merge 32/64 bits realmode wakeup code
  2011-01-29 21:15       ` Rafael J. Wysocki
  (?)
@ 2011-01-30  0:19       ` H. Peter Anvin
  2011-01-30 12:59         ` Rafael J. Wysocki
  2011-01-30 19:57           ` matthieu castet
  -1 siblings, 2 replies; 15+ messages in thread
From: H. Peter Anvin @ 2011-01-30  0:19 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: matthieu castet, Linux Kernel list, linux-acpi, Thomas Gleixner, x86

On 01/29/2011 01:15 PM, Rafael J. Wysocki wrote:
>
> That's correct, but those changes can wait.  The most urgent thing is to fix
> the resume regression at hand.  I guess we should ask the reporter's in
> https://bugzilla.kernel.org/show_bug.cgi?id=27472 to test that patch, right?
>

By the way, guys: I'm on vacation at the moment, but I do monitor this 
thread.  I think at this point we should revert NX for the low 1 MiB and 
worry about doing it properly for .39.  That being said, this kind of 
unification is a good thing in general.

	-hpa

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [RFC] merge 32/64 bits realmode wakeup code
  2011-01-30  0:19       ` H. Peter Anvin
@ 2011-01-30 12:59         ` Rafael J. Wysocki
  2011-01-30 19:57           ` matthieu castet
  1 sibling, 0 replies; 15+ messages in thread
From: Rafael J. Wysocki @ 2011-01-30 12:59 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: matthieu castet, Linux Kernel list, linux-acpi, Thomas Gleixner, x86

On Sunday, January 30, 2011, H. Peter Anvin wrote:
> On 01/29/2011 01:15 PM, Rafael J. Wysocki wrote:
> >
> > That's correct, but those changes can wait.  The most urgent thing is to fix
> > the resume regression at hand.  I guess we should ask the reporter's in
> > https://bugzilla.kernel.org/show_bug.cgi?id=27472 to test that patch, right?
> >
> 
> By the way, guys: I'm on vacation at the moment, but I do monitor this 
> thread.  I think at this point we should revert NX for the low 1 MiB and 
> worry about doing it properly for .39.

Fine by me, this is your call anyway.

> That being said, this kind of unification is a good thing in general.

Sure.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [RFC] merge 32/64 bits realmode wakeup code
  2011-01-30  0:19       ` H. Peter Anvin
@ 2011-01-30 19:57           ` matthieu castet
  2011-01-30 19:57           ` matthieu castet
  1 sibling, 0 replies; 15+ messages in thread
From: matthieu castet @ 2011-01-30 19:57 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: Rafael J. Wysocki, Linux Kernel list, linux-acpi, Thomas Gleixner, x86

Le Sat, 29 Jan 2011 16:19:01 -0800,
"H. Peter Anvin" <hpa@zytor.com> a écrit :

> On 01/29/2011 01:15 PM, Rafael J. Wysocki wrote:
> >
> > That's correct, but those changes can wait.  The most urgent thing
> > is to fix the resume regression at hand.  I guess we should ask the
> > reporter's in https://bugzilla.kernel.org/show_bug.cgi?id=27472 to
> > test that patch, right?
> >
> 
> By the way, guys: I'm on vacation at the moment, but I do monitor
> this thread.  I think at this point we should revert NX for the low 1
> MiB and worry about doing it properly for .39.

So #9 patch in https://bugzilla.kernel.org/show_bug.cgi?id=27472 is
okay, do you want some cleanup ?


Matthieu
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [RFC] merge 32/64 bits realmode wakeup code
@ 2011-01-30 19:57           ` matthieu castet
  0 siblings, 0 replies; 15+ messages in thread
From: matthieu castet @ 2011-01-30 19:57 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: Rafael J. Wysocki, Linux Kernel list, linux-acpi, Thomas Gleixner, x86

Le Sat, 29 Jan 2011 16:19:01 -0800,
"H. Peter Anvin" <hpa@zytor.com> a écrit :

> On 01/29/2011 01:15 PM, Rafael J. Wysocki wrote:
> >
> > That's correct, but those changes can wait.  The most urgent thing
> > is to fix the resume regression at hand.  I guess we should ask the
> > reporter's in https://bugzilla.kernel.org/show_bug.cgi?id=27472 to
> > test that patch, right?
> >
> 
> By the way, guys: I'm on vacation at the moment, but I do monitor
> this thread.  I think at this point we should revert NX for the low 1
> MiB and worry about doing it properly for .39.

So #9 patch in https://bugzilla.kernel.org/show_bug.cgi?id=27472 is
okay, do you want some cleanup ?


Matthieu

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [RFC] merge 32/64 bits realmode wakeup code
  2011-01-29 21:15       ` Rafael J. Wysocki
@ 2011-01-30 20:04         ` matthieu castet
  -1 siblings, 0 replies; 15+ messages in thread
From: matthieu castet @ 2011-01-30 20:04 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Linux Kernel list, linux-acpi, H. Peter Anvin, Thomas Gleixner, x86

Le Sat, 29 Jan 2011 22:15:57 +0100,
"Rafael J. Wysocki" <rjw@sisk.pl> a écrit :

> On Saturday, January 29, 2011, matthieu castet wrote:
> > Rafael J. Wysocki a écrit :
> > > 
> > > It _looks_ sane, but it will require some serious testing.  I'm
> > > not sure, though, if we can get enough testing coverage without
> > > actually committing that change.
> > > 
> > > How much testing has it received so far?
> > > 
> > Not too much only qemu with 1 and 2 core and a laptop with 1 cpu.
> > 
> > Please note that with this patch we can also remove the gdt, idt,
> > ldt stuff from arch/x86/kernel/acpi/wakeup_32.S
> 
> That's correct, but those changes can wait. 
Any idea how to test this patch with more configurations ?

Submitting it to tip ? 
But as resume regression showed, there aren't many user with 32 bits
system using it.


Matthieu
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [RFC] merge 32/64 bits realmode wakeup code
@ 2011-01-30 20:04         ` matthieu castet
  0 siblings, 0 replies; 15+ messages in thread
From: matthieu castet @ 2011-01-30 20:04 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Linux Kernel list, linux-acpi, H. Peter Anvin, Thomas Gleixner, x86

Le Sat, 29 Jan 2011 22:15:57 +0100,
"Rafael J. Wysocki" <rjw@sisk.pl> a écrit :

> On Saturday, January 29, 2011, matthieu castet wrote:
> > Rafael J. Wysocki a écrit :
> > > 
> > > It _looks_ sane, but it will require some serious testing.  I'm
> > > not sure, though, if we can get enough testing coverage without
> > > actually committing that change.
> > > 
> > > How much testing has it received so far?
> > > 
> > Not too much only qemu with 1 and 2 core and a laptop with 1 cpu.
> > 
> > Please note that with this patch we can also remove the gdt, idt,
> > ldt stuff from arch/x86/kernel/acpi/wakeup_32.S
> 
> That's correct, but those changes can wait. 
Any idea how to test this patch with more configurations ?

Submitting it to tip ? 
But as resume regression showed, there aren't many user with 32 bits
system using it.


Matthieu

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [RFC] merge 32/64 bits realmode wakeup code
  2011-01-30 20:04         ` matthieu castet
@ 2011-01-30 22:42           ` Rafael J. Wysocki
  -1 siblings, 0 replies; 15+ messages in thread
From: Rafael J. Wysocki @ 2011-01-30 22:42 UTC (permalink / raw)
  To: matthieu castet
  Cc: Linux Kernel list, linux-acpi, H. Peter Anvin, Thomas Gleixner, x86

On Sunday, January 30, 2011, matthieu castet wrote:
> Le Sat, 29 Jan 2011 22:15:57 +0100,
> "Rafael J. Wysocki" <rjw@sisk.pl> a écrit :
> 
> > On Saturday, January 29, 2011, matthieu castet wrote:
> > > Rafael J. Wysocki a écrit :
> > > > 
> > > > It _looks_ sane, but it will require some serious testing.  I'm
> > > > not sure, though, if we can get enough testing coverage without
> > > > actually committing that change.
> > > > 
> > > > How much testing has it received so far?
> > > > 
> > > Not too much only qemu with 1 and 2 core and a laptop with 1 cpu.
> > > 
> > > Please note that with this patch we can also remove the gdt, idt,
> > > ldt stuff from arch/x86/kernel/acpi/wakeup_32.S
> > 
> > That's correct, but those changes can wait. 
> Any idea how to test this patch with more configurations ?
> 
> Submitting it to tip ? 
> But as resume regression showed, there aren't many user with 32 bits
> system using it.

No, I don't think there are too many users testing suspend with -tip on x86-32.
I'm afraid the changes in question won't get any substantial testing until
included into the mainline, but it will be easier to diagnose problems with
them if they go in during the .39 merge window.

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [RFC] merge 32/64 bits realmode wakeup code
@ 2011-01-30 22:42           ` Rafael J. Wysocki
  0 siblings, 0 replies; 15+ messages in thread
From: Rafael J. Wysocki @ 2011-01-30 22:42 UTC (permalink / raw)
  To: matthieu castet
  Cc: Linux Kernel list, linux-acpi, H. Peter Anvin, Thomas Gleixner, x86

On Sunday, January 30, 2011, matthieu castet wrote:
> Le Sat, 29 Jan 2011 22:15:57 +0100,
> "Rafael J. Wysocki" <rjw@sisk.pl> a écrit :
> 
> > On Saturday, January 29, 2011, matthieu castet wrote:
> > > Rafael J. Wysocki a écrit :
> > > > 
> > > > It _looks_ sane, but it will require some serious testing.  I'm
> > > > not sure, though, if we can get enough testing coverage without
> > > > actually committing that change.
> > > > 
> > > > How much testing has it received so far?
> > > > 
> > > Not too much only qemu with 1 and 2 core and a laptop with 1 cpu.
> > > 
> > > Please note that with this patch we can also remove the gdt, idt,
> > > ldt stuff from arch/x86/kernel/acpi/wakeup_32.S
> > 
> > That's correct, but those changes can wait. 
> Any idea how to test this patch with more configurations ?
> 
> Submitting it to tip ? 
> But as resume regression showed, there aren't many user with 32 bits
> system using it.

No, I don't think there are too many users testing suspend with -tip on x86-32.
I'm afraid the changes in question won't get any substantial testing until
included into the mainline, but it will be easier to diagnose problems with
them if they go in during the .39 merge window.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2011-01-30 22:42 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-27 21:56 [RFC] merge 32/64 bits realmode wakeup code matthieu castet
2011-01-27 21:56 ` matthieu castet
2011-01-27 22:53 ` Rafael J. Wysocki
2011-01-29 20:43   ` matthieu castet
2011-01-29 20:43     ` matthieu castet
2011-01-29 21:15     ` Rafael J. Wysocki
2011-01-29 21:15       ` Rafael J. Wysocki
2011-01-30  0:19       ` H. Peter Anvin
2011-01-30 12:59         ` Rafael J. Wysocki
2011-01-30 19:57         ` matthieu castet
2011-01-30 19:57           ` matthieu castet
2011-01-30 20:04       ` matthieu castet
2011-01-30 20:04         ` matthieu castet
2011-01-30 22:42         ` Rafael J. Wysocki
2011-01-30 22:42           ` Rafael J. Wysocki

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.