lkml.org 
[lkml]   [2012]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/6] x86/cpu hotplug: Wake up offline CPU via mwait or nmi
Date
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(-)



\
 
 \ /
  Last update: 2012-06-04 21:01    [W:0.125 / U:0.748 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site