public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] x86/cpu hotplug: Wake up offline CPU via mwait or nmi
@ 2012-06-04 18:17 Fenghua Yu
  2012-06-04 18:17 ` [PATCH 1/6] x86/Documentation/kernel-parameters.txt: Add wakeup_cpu_via_init kernel parameter help Fenghua Yu
                   ` (7 more replies)
  0 siblings, 8 replies; 73+ messages in thread
From: Fenghua Yu @ 2012-06-04 18:17 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, H Peter Anvin, Suresh B Siddha,
	Tony Luck, Asit K Mallick, Arjan Dan De Ven
  Cc: linux-kernel, x86, linux-pm, Fenghua Yu

From: Fenghua Yu <fenghua.yu@intel.com>

Since offline CPU is in wmait or hlt if mwait feature is not available, it can
be waken up by writing to monitored memory range or via nmi.

Compared to current INIT, INIT, STARTUP wake up sequence, waking up offline CPU
is faster via wmait or nmi. This is especially useful when offline CPU for
power saving and shorter waking up time is desired. On one tested desktop
machine, waking up time via mwait or nmi is reduced to 23% of waking up time
via INIT. Waking up time is measured from the beginning of store_online() to
the beginning of cpu_idle() after the CPU is waken up.

Waking up offline CPU via mwait or nmi is also useful to support BSP offline/
online because offline BSP can not be waken up by the INIT's sequence. The BSP
offline/online patchset will be sent out seperately.

Fenghua Yu (6):
  x86/Documentation/kernel-parameters.txt: Add wakeup_cpu_via_init
    kernel parameter help
  x86/head_32.S/head_64.S: Kernel entry code after waking up offline
    CPU via mwait or nmi
  x86/smpboot.c: Wake up offline CPU via mwait or nmi
  x86/apic_flat_64.c: Wakeup function in apic calls mwait or nmi method
  x86/x2apic_cluster.c: Wakeup function in x2apic_cluster calls mwait
    or nmi method
  x86/x2apic_phys.c: Wakeup function in x2apic_phys calls mwait or nmi
    method

 Documentation/kernel-parameters.txt   |    3 +
 arch/x86/include/asm/apic.h           |    5 +-
 arch/x86/include/asm/cpu.h            |    1 +
 arch/x86/kernel/apic/apic_flat_64.c   |    2 +
 arch/x86/kernel/apic/x2apic_cluster.c |    1 +
 arch/x86/kernel/apic/x2apic_phys.c    |    1 +
 arch/x86/kernel/head_32.S             |   12 ++
 arch/x86/kernel/head_64.S             |   14 +++
 arch/x86/kernel/smpboot.c             |  187 ++++++++++++++++++++++++++++-----
 9 files changed, 198 insertions(+), 28 deletions(-)


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

end of thread, other threads:[~2012-06-12  9:19 UTC | newest]

Thread overview: 73+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-04 18:17 [PATCH 0/6] x86/cpu hotplug: Wake up offline CPU via mwait or nmi Fenghua Yu
2012-06-04 18:17 ` [PATCH 1/6] x86/Documentation/kernel-parameters.txt: Add wakeup_cpu_via_init kernel parameter help Fenghua Yu
2012-06-04 18:17 ` [PATCH 2/6] x86/head_32.S/head_64.S: Kernel entry code after waking up offline CPU via mwait or nmi Fenghua Yu
2012-06-04 18:17 ` [PATCH 3/6] x86/smpboot.c: Wake " Fenghua Yu
2012-06-04 18:58   ` Suresh Siddha
2012-06-04 19:35     ` Yu, Fenghua
2012-06-04 18:17 ` [PATCH 4/6] x86/apic_flat_64.c: Wakeup function in apic calls mwait or nmi method Fenghua Yu
2012-06-04 18:17 ` [PATCH 5/6] x86/x2apic_cluster.c: Wakeup function in x2apic_cluster " Fenghua Yu
2012-06-04 18:17 ` [PATCH 6/6] x86/x2apic_phys.c: Wakeup function in x2apic_phys " Fenghua Yu
2012-06-04 18:17 ` Fenghua Yu
2012-06-04 20:11 ` [PATCH 0/6] x86/cpu hotplug: Wake up offline CPU via mwait or nmi Thomas Gleixner
2012-06-04 20:18   ` Luck, Tony
2012-06-04 22:52     ` Thomas Gleixner
2012-06-04 20:33   ` Peter Zijlstra
2012-06-05  0:40     ` Rusty Russell
2012-06-05  1:23       ` Arjan van de Ven
2012-06-05  7:38         ` Peter Zijlstra
2012-06-05 14:17         ` Alan Stern
2012-06-05 15:27           ` Arjan van de Ven
2012-06-05  7:39       ` Peter Zijlstra
2012-06-05 16:02         ` Yu, Fenghua
2012-06-05 16:09           ` Peter Zijlstra
2012-06-05 16:18             ` Yu, Fenghua
2012-06-05 16:19               ` Peter Zijlstra
2012-06-05 17:44                 ` Luck, Tony
2012-06-05 17:50                   ` Peter Zijlstra
2012-06-05 19:43                     ` Thomas Gleixner
2012-06-05 19:45                       ` Peter Zijlstra
2012-06-05 19:49                       ` Peter Zijlstra
2012-06-05 19:51                         ` Arjan van de Ven
2012-06-05 19:52                           ` Peter Zijlstra
2012-06-05 20:47                         ` Thomas Gleixner
2012-06-05 21:30                           ` Peter Zijlstra
2012-06-05 22:09                             ` Thomas Gleixner
2012-06-06  8:23                               ` Peter Zijlstra
2012-06-06  8:30                               ` Peter Zijlstra
2012-06-06  8:40                               ` Peter Zijlstra
2012-06-05 22:12                             ` Paul E. McKenney
2012-06-06  8:40                               ` Peter Zijlstra
2012-06-06  8:42                               ` Peter Zijlstra
2012-06-06 14:44                                 ` Paul E. McKenney
2012-06-06 15:46                                   ` Peter Zijlstra
2012-06-06 23:20                                     ` Paul E. McKenney
2012-06-08  9:20                                       ` Peter Zijlstra
2012-06-06  8:43                               ` Peter Zijlstra
2012-06-06 14:41                                 ` Paul E. McKenney
2012-06-06 15:23                                   ` Arjan van de Ven
2012-06-06 15:48                                     ` Peter Zijlstra
2012-06-06 15:49                                     ` Paul E. McKenney
2012-06-06 16:59                                       ` Arjan van de Ven
2012-06-05 21:29                         ` Paul E. McKenney
2012-06-05 21:37                           ` Peter Zijlstra
2012-06-05 22:00                             ` Paul E. McKenney
2012-06-06 12:17                               ` Peter Zijlstra
2012-06-06 14:43                                 ` Paul E. McKenney
2012-06-05 19:51                       ` Peter Zijlstra
2012-06-05 20:58                       ` Andi Kleen
2012-06-05 21:15                         ` Thomas Gleixner
2012-06-05 21:33                           ` Thomas Gleixner
2012-06-05 23:13                             ` Andi Kleen
2012-06-06  1:52                               ` Arjan van de Ven
2012-06-05 18:07                   ` Peter Zijlstra
2012-06-05 19:54                     ` Luck, Tony
2012-06-05 19:56                       ` Peter Zijlstra
2012-06-05  9:36       ` Thomas Gleixner
2012-06-05 13:41         ` [PATCH] kthread: Implement park/unpark facility Thomas Gleixner
2012-06-05 14:01           ` Peter Zijlstra
2012-06-05 14:05           ` Peter Zijlstra
2012-06-07  0:04             ` H. Peter Anvin
2012-06-10  5:40           ` Rusty Russell
2012-06-11  9:26             ` Thomas Gleixner
2012-06-12  0:23               ` Rusty Russell
2012-06-05 15:35   ` [PATCH 0/6] x86/cpu hotplug: Wake up offline CPU via mwait or nmi Jiang Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox