linux/arch/s390/kernel
Heiko Carstens 8c91058022 s390/numa: establish cpu to node mapping early
Initialize the cpu topology and therefore also the cpu to node mapping
much earlier. Fixes this warning and subsequent crashes when using the
fake numa emulation mode on s390:

WARNING: CPU: 0 PID: 1 at include/linux/cpumask.h:121 select_task_rq+0xe6/0x1a8
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.6.0-rc6-00001-ge9d867a67fd0-dirty #28
task: 00000001dd270008 ti: 00000001eccb4000 task.ti: 00000001eccb4000
Krnl PSW : 0404c00180000000 0000000000176c56 (select_task_rq+0xe6/0x1a8)
           R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 RI:0 EA:3
Call Trace:
([<0000000000176c30>] select_task_rq+0xc0/0x1a8)
([<0000000000177d64>] try_to_wake_up+0x2e4/0x478)
([<000000000015d46c>] create_worker+0x174/0x1c0)
([<0000000000161a98>] alloc_unbound_pwq+0x360/0x438)
([<0000000000162550>] apply_wqattrs_prepare+0x200/0x2a0)
([<000000000016266a>] apply_workqueue_attrs_locked+0x7a/0xb0)
([<0000000000162af0>] apply_workqueue_attrs+0x50/0x78)
([<000000000016441c>] __alloc_workqueue_key+0x304/0x520)
([<0000000000ee3706>] default_bdi_init+0x3e/0x70)
([<0000000000100270>] do_one_initcall+0x140/0x1d8)
([<0000000000ec9da8>] kernel_init_freeable+0x220/0x2d8)
([<0000000000984a7a>] kernel_init+0x2a/0x150)
([<00000000009913fa>] kernel_thread_starter+0x6/0xc)
([<00000000009913f4>] kernel_thread_starter+0x0/0xc)

Reviewed-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-12-07 07:23:25 +01:00
..
vdso32 s390/time: steer clocksource on STP sync events 2016-10-28 10:09:02 +02:00
vdso64 s390/time: steer clocksource on STP sync events 2016-10-28 10:09:02 +02:00
.gitignore
als.c s390/als: print missing facilities on facility mismatch 2016-07-31 05:27:59 -04:00
asm-offsets.c s390: move sys_call_table and last_break from thread_info to thread_struct 2016-11-15 16:48:20 +01:00
audit.c
audit.h
base.S
cache.c s390/cpuinfo: show dynamic and static cpu mhz 2016-06-13 15:58:17 +02:00
compat_audit.c
compat_linux.c cred: simpler, 1D supplementary groups 2016-10-07 18:46:30 -07:00
compat_linux.h
compat_ptrace.h
compat_signal.c s390: move sys_call_table and last_break from thread_info to thread_struct 2016-11-15 16:48:20 +01:00
compat_wrapper.c s390: wire up copy_file_range syscall 2016-01-19 12:14:02 +01:00
cpcmd.c s390: Use pr_warn instead of pr_warning 2016-03-07 13:12:04 +01:00
crash_dump.c s390/crashdump: use list_first_entry_or_null 2016-09-20 14:26:04 +02:00
debug.c s390: Use pr_warn instead of pr_warning 2016-03-07 13:12:04 +01:00
diag.c - ARM: GICv3 ITS emulation and various fixes. Removal of the old 2016-08-02 16:11:27 -04:00
dis.c s390/disassambler: use pr_cont where appropriate 2016-10-17 14:44:32 +02:00
dumpstack.c s390/dumpstack: use pr_cont within show_stack and die 2016-10-24 10:26:14 +02:00
early.c s390/preempt: move preempt_count to the lowcore 2016-11-11 16:37:40 +01:00
ebcdic.c
entry.h s390/als: convert architecture level set code to C 2016-07-31 05:27:58 -04:00
entry.S s390: fix machine check panic stack switch 2016-12-07 07:22:13 +01:00
fpu.c s390/fpu: improve kernel_fpu_[begin|end] 2016-08-29 11:05:01 +02:00
ftrace.c ftrace: Add return address pointer to ftrace_ret_stack 2016-08-24 12:15:14 +02:00
head64.S s390/thread_info: get rid of THREAD_ORDER define 2016-11-23 16:02:21 +01:00
head_kdump.S
head.S s390/thread_info: get rid of THREAD_ORDER define 2016-11-23 16:02:21 +01:00
idle.c
ipl.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2016-07-26 12:22:51 -07:00
irq.c s390/thread_info: get rid of THREAD_ORDER define 2016-11-23 16:02:21 +01:00
jump_label.c Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-03 15:46:07 -07:00
kprobes.c s390: migrate exception table users off module.h and onto extable.h 2016-09-20 14:26:38 +02:00
lgr.c s390: kernel: make lgr explicitly non-modular 2016-10-31 17:55:42 +01:00
machine_kexec.c s390/kexec: fix crash on resize of reserved memory 2016-06-13 15:58:19 +02:00
Makefile Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2016-10-14 14:26:58 -07:00
mcount.S s390: move exports to definitions 2016-08-07 23:47:20 -04:00
module.c module: s390: keep mod_arch_specific for livepatch modules 2016-04-01 15:00:11 +02:00
nmi.c s390/nmi: improve revalidation of fpu / vector registers 2016-08-29 11:05:03 +02:00
os_info.c s390/dump: streamline oldmem copy functions 2015-11-27 09:24:12 +01:00
perf_cpum_cf_events.c
perf_cpum_cf.c s390/perf: Convert the hotplug notifier to state machine callbacks (Counter) 2016-07-14 09:34:37 +02:00
perf_cpum_sf.c s390/cpumf: simplify psw generation 2016-11-23 16:02:22 +01:00
perf_event.c s390/dumpstack: restore reliable indicator for call traces 2016-10-17 14:44:30 +02:00
pgm_check.S
process.c s390: move cputime accounting fields from thread_info to thread_struct 2016-11-11 16:37:43 +01:00
processor.c s390/cpuinfo: show maximum thread id 2016-07-04 09:25:20 +02:00
ptrace.c s390: move sys_call_table and last_break from thread_info to thread_struct 2016-11-15 16:48:20 +01:00
reipl.S s390/dump: rework CPU register dump code 2015-11-27 09:24:14 +01:00
relocate_kernel.S
runtime_instr.c s390: remove runtime instrumentation interrupts 2015-11-03 14:40:51 +01:00
sclp.c s390/sclp: move uninitialized data to data section 2016-07-31 05:27:58 -04:00
setup.c s390/numa: establish cpu to node mapping early 2016-12-07 07:23:25 +01:00
signal.c s390: move sys_call_table and last_break from thread_info to thread_struct 2016-11-15 16:48:20 +01:00
smp.c s390/smp: initialize cpu_present_mask in setup_arch 2016-12-07 07:23:07 +01:00
stacktrace.c s390/dumpstack: restore reliable indicator for call traces 2016-10-17 14:44:30 +02:00
suspend.c
swsusp.S s390/thread_info: get rid of THREAD_ORDER define 2016-11-23 16:02:21 +01:00
sys_s390.c
syscalls.S s390: wire up preadv2/pwritev2 syscalls 2016-04-01 08:42:38 +02:00
sysinfo.c s390/fpu: improve kernel_fpu_[begin|end] 2016-08-29 11:05:01 +02:00
time.c s390/time: fix clocksource steering for negative clock offsets 2016-11-17 06:56:38 +01:00
topology.c s390/numa: establish cpu to node mapping early 2016-12-07 07:23:25 +01:00
trace.c s390/diag: avoid lockdep recursion 2016-02-11 13:05:56 +01:00
traps.c s390: migrate exception table users off module.h and onto extable.h 2016-09-20 14:26:38 +02:00
uprobes.c
vdso.c vdso: make arch_setup_additional_pages wait for mmap_sem for write killable 2016-05-23 17:04:14 -07:00
vmlinux.lds.S nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00
vtime.c s390: move cputime accounting fields from thread_info to thread_struct 2016-11-11 16:37:43 +01:00