linux/arch/s390
Martin Schwidefsky 8b646bd759 [S390] rework smp code
Define struct pcpu and merge some of the NR_CPUS arrays into it, including
__cpu_logical_map, current_set and smp_cpu_state. Split smp related
functions to those operating on physical cpus and the functions operating
on a logical cpu number. Make the functions for physical cpus use a
pointer to a struct pcpu. This hides the knowledge about cpu addresses in
smp.c, entry[64].S and swsusp_asm64.S, thus remove the sigp.h header.

The PSW restart mechanism is used to start secondary cpus, calling a
function on an online cpu, calling a function on the ipl cpu, and for
the nmi signal. Replace the different assembler functions with a
single function restart_int_handler. The new entry point calls a function
whose pointer is stored in the lowcore of the target cpu and it can wait
for the source cpu to stop. This covers all existing use cases.

Overall the code is now simpler and there are ~380 lines less code.

Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-03-11 11:59:28 -04:00
..
appldata sched/accounting: Change cpustat fields to an array 2011-12-06 09:06:38 +01:00
boot [S390] Remove Kerntypes leftovers 2011-12-27 11:27:12 +01:00
crypto [S390] crypto: avoid MSA3 and MSA4 instructions in ESA mode 2011-11-14 11:19:09 +01:00
hypfs vfs: switch ->show_options() to struct dentry * 2012-01-06 23:19:54 -05:00
include/asm [S390] rework smp code 2012-03-11 11:59:28 -04:00
kernel [S390] rework smp code 2012-03-11 11:59:28 -04:00
kvm [S390] rename lowcore field 2012-03-11 11:59:27 -04:00
lib [S390] rework smp code 2012-03-11 11:59:28 -04:00
math-emu s390: change to new flag variable 2011-03-17 14:02:57 +01:00
mm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2012-03-01 18:22:55 -08:00
oprofile Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-01-06 08:02:58 -08:00
Kbuild [S390] make arch/s390 subdirectories depend on config option 2011-12-27 11:27:12 +01:00
Kconfig [S390] KEYS: Enable the compat keyctl wrapper on s390x 2012-02-24 18:01:36 +01:00
Kconfig.debug [S390] Write protect module text and RO data 2011-03-15 17:08:23 +01:00
Makefile [S390] cleanup entry point definition 2012-01-18 18:03:41 +01:00
defconfig [S390] defconfig: switch on CONFIG_DEVTMPFS 2011-10-30 15:16:42 +01:00