[GIT PULL] s390 patches for 4.10 merge window #1

From: Martin Schwidefsky
Date: Tue Dec 13 2016 - 02:05:06 EST


Hi Linus,

please pull from the 'for-linus' branch of

git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git for-linus

to receive the following updates:

The main bulk of the s390 patches for the 4.10 merge window:

* Add support for the contiguous memory allocator.

* The recovery for I/O errors in the dasd device driver is improved, the
driver will now remove channel paths that are not working properly.

* Additional fields are added to /proc/sysinfo, the extended partition name
and the partition UUID.

* New naming for PCI devices with system defined UIDs.

* The last few remaining alloc_bootmem calls are converted to memblock.

* The thread_info structure is stripped down and moved to the task_struct.
The only field left in thread_info is the flags field.

* Rework of the arch topology code to fix a fake numa issue.

* Refactoring of the atomic primitives and add a new preempt_count
implementation.

* Clocksource steering for the STP sync check offsets.

* The s390 specific headers are changed to make them usable with CLANG.

* Bug fixes and cleanup.

The shortlog:

Christian Borntraeger (1):
s390/cpumf: Use configuration level indication for sampling data

Dan Carpenter (1):
s390/crypto: unlock on error in prng_tdes_read()

Dong Jia Shi (1):
s390/cio: clean up DEV_STATE_SENSE_PGID

Gerald Schaefer (1):
s390/vmlogrdr: fix IUCV buffer allocation

Harald Freudenberger (1):
MAINTAINERS: update for maintainer of s390/zcrypt

Heiko Carstens (24):
s390: move thread_info into task_struct
s390/uaccess: make setfs macro return void
s390/thread_info: get rid of THREAD_ORDER define
s390/cpumf: simplify psw generation
s390: add cma support
s390: update defconfig
s390: convert remaining bootmem allocations to memblock
s390: use generic asm-offsets.h
s390/hypfs: add hypfs header file to uapi header export list
s390/uapi: sort header export list
s390/kexec: use node 0 when re-adding crash kernel memory
s390/setup: fix memblock usage
s390/numa: always use logical cpu and core ids
s390/smp: use smp_get_base_cpu() helper function
s390/topology: always use s390 specific sched_domain_topology_level
s390/smp: initialize cpu_present_mask in setup_arch
s390/topology: use cpu_topology array instead of per cpu variable
s390/numa: establish cpu to node mapping early
s390/numa: pin all possible cpus to nodes early
s390: remove unused labels from entry.S
s390: exclude early C code from gcov profiling
s390: fix initrd corruptions with gcov/kcov instrumented kernels
s390: cleanup arch/s390/kernel Makefile
s390: provide memmove implementation

Jan HÃppner (7):
s390/dasd: Make setting queue_max_segments more explicit
s390/dasd: Define often used variable
s390/dasd: Replace simple_strtoul with kstrtouint
s390/dasd: Make use of dasd_set_feature() more often
s390/dasd: Eliminate race condition in dasd_generic_set_offline()
s390/dasd: Fix locking issue when changing EER attribute
s390/dasd: Fix locking issue when changing RO attribute

Lars-Peter Clausen (1):
s390/zcrypt: Convert to PM ops

Martin Schwidefsky (12):
s390/time: refactor clock sync
s390/time: adjust last_update_clock at clock synchronization
s390/time: steer clocksource on STP sync events
s390/atomic: refactor atomic primitives
s390/bitops: use atomic primitives for bitops
s390/preempt: move preempt_count to the lowcore
s390: move system_call field from thread_info to thread_struct
s390: move cputime accounting fields from thread_info to thread_struct
s390: move sys_call_table and last_break from thread_info to thread_struct
s390/time: fix clocksource steering for negative clock offsets
s390: fix kernel oops for CONFIG_MARCH_Z900=y builds
s390: fix machine check panic stack switch

Masahiro Yamada (3):
s390: delete unneeded #include <linux/kconfig.h> from facilities_src.h
s390: squash facilities_src.h into gen_facilities.c
s390: remove unneeded dependency for gen_facilities

Michael Holzheu (2):
zcore: Improve startup-message text
s390: Remove VLAIS in ptff() and clear_table()

Paul Gortmaker (9):
s390: cio: make it explicitly non-modular
s390: char: make zcore explicitly non-modular
s390: char: make con3215 explicitly non-modular
s390: char: make sclp_tty explicitly non-modular
s390: char: make slcp_quiesce explicitly non-modular
s390: hypfs: make inode explicitly non-modular
s390: kernel: make lgr explicitly non-modular
s390: hotplug: make pci_hpc explicitly non-modular
s390: virtio: make ccw explicitly non-modular

Sebastian Ott (4):
s390/pci: fix dma address calculation in map_sg
s390/pci_dma: make lazy flush independent from the tlb_refresh bit
s390/pci_dma: remove memset from dma_alloc
s390/pci: use unique UIDs for domain enumeration

Stefan Haberland (2):
s390/dasd: extend dasd path handling
s390/dasd: channel path aware error recovery

Viktor Mihajlovski (1):
s390/sysinfo: show partition extended name and UUID if available

MAINTAINERS | 2 +-
arch/s390/Kconfig | 2 +
arch/s390/boot/compressed/head.S | 2 +-
arch/s390/configs/default_defconfig | 6 +-
arch/s390/configs/gcov_defconfig | 4 +-
arch/s390/configs/performance_defconfig | 4 +-
arch/s390/crypto/prng.c | 6 +-
arch/s390/hypfs/inode.c | 24 +-
arch/s390/include/asm/Kbuild | 4 +-
arch/s390/include/asm/asm-offsets.h | 1 -
arch/s390/include/asm/atomic.h | 207 +++------------
arch/s390/include/asm/atomic_ops.h | 130 +++++++++
arch/s390/include/asm/bitops.h | 62 +----
arch/s390/include/asm/cpu_mf.h | 3 +-
arch/s390/include/asm/elf.h | 6 +-
arch/s390/include/asm/facilities_src.h | 82 ------
arch/s390/include/asm/ipl.h | 2 +-
arch/s390/include/asm/lowcore.h | 5 +-
arch/s390/include/asm/pci_clp.h | 5 +-
arch/s390/include/asm/pgalloc.h | 22 +-
arch/s390/include/asm/preempt.h | 137 ++++++++++
arch/s390/include/asm/processor.h | 6 +
arch/s390/include/asm/sclp.h | 10 +-
arch/s390/include/asm/scsw.h | 6 +-
arch/s390/include/asm/smp.h | 8 +
arch/s390/include/asm/string.h | 3 +-
arch/s390/include/asm/sysinfo.h | 7 +-
arch/s390/include/asm/thread_info.h | 24 +-
arch/s390/include/asm/timex.h | 41 +--
arch/s390/include/asm/topology.h | 28 +-
arch/s390/include/asm/uaccess.h | 6 +-
arch/s390/include/asm/vdso.h | 2 +
arch/s390/include/uapi/asm/Kbuild | 5 +-
arch/s390/kernel/Makefile | 65 ++---
arch/s390/kernel/asm-offsets.c | 17 +-
arch/s390/kernel/compat_signal.c | 4 +-
arch/s390/kernel/early.c | 50 +++-
arch/s390/kernel/entry.S | 51 ++--
arch/s390/kernel/head.S | 2 +-
arch/s390/kernel/head64.S | 7 +-
arch/s390/kernel/ipl.c | 7 +-
arch/s390/kernel/irq.c | 2 +-
arch/s390/kernel/lgr.c | 5 +-
arch/s390/kernel/perf_cpum_sf.c | 53 ++--
arch/s390/kernel/process.c | 6 +-
arch/s390/kernel/ptrace.c | 14 +-
arch/s390/kernel/setup.c | 22 +-
arch/s390/kernel/signal.c | 14 +-
arch/s390/kernel/smp.c | 32 +--
arch/s390/kernel/swsusp.S | 2 +-
arch/s390/kernel/sysinfo.c | 33 ++-
arch/s390/kernel/time.c | 191 ++++++++------
arch/s390/kernel/topology.c | 53 ++--
arch/s390/kernel/vdso32/clock_gettime.S | 23 +-
arch/s390/kernel/vdso32/gettimeofday.S | 23 +-
arch/s390/kernel/vdso64/clock_gettime.S | 11 +-
arch/s390/kernel/vdso64/gettimeofday.S | 11 +-
arch/s390/kernel/vtime.c | 26 +-
arch/s390/lib/mem.S | 39 +++
arch/s390/mm/fault.c | 1 +
arch/s390/mm/vmem.c | 9 +-
arch/s390/numa/mode_emu.c | 38 ++-
arch/s390/numa/toptree.c | 16 +-
arch/s390/pci/pci.c | 8 +
arch/s390/pci/pci_clp.c | 3 +
arch/s390/pci/pci_debug.c | 2 +-
arch/s390/pci/pci_dma.c | 36 +--
arch/s390/tools/Makefile | 2 -
arch/s390/tools/gen_facilities.c | 76 +++++-
drivers/pci/hotplug/s390_pci_hpc.c | 7 +-
drivers/s390/block/dasd.c | 301 +++++++++++++--------
drivers/s390/block/dasd_3990_erp.c | 52 +++-
drivers/s390/block/dasd_devmap.c | 326 +++++++++++++++--------
drivers/s390/block/dasd_eckd.c | 323 +++++++++++++----------
drivers/s390/block/dasd_eckd.h | 5 +-
drivers/s390/block/dasd_eer.c | 29 ++-
drivers/s390/block/dasd_erp.c | 2 +-
drivers/s390/block/dasd_fba.c | 2 +-
drivers/s390/block/dasd_int.h | 449 +++++++++++++++++++++++++++++++-
drivers/s390/char/con3215.c | 12 +-
drivers/s390/char/sclp.h | 23 ++
drivers/s390/char/sclp_cmd.c | 25 +-
drivers/s390/char/sclp_early.c | 31 +++
drivers/s390/char/sclp_quiesce.c | 4 +-
drivers/s390/char/sclp_tty.c | 3 +-
drivers/s390/char/vmlogrdr.c | 2 +-
drivers/s390/char/zcore.c | 22 +-
drivers/s390/cio/cmf.c | 10 +-
drivers/s390/cio/css.c | 6 +-
drivers/s390/cio/device.c | 6 +-
drivers/s390/cio/device.h | 1 -
drivers/s390/cio/device_fsm.c | 6 -
drivers/s390/cio/device_ops.c | 5 +-
drivers/s390/crypto/ap_bus.c | 12 +-
drivers/s390/virtio/virtio_ccw.c | 25 +-
95 files changed, 2265 insertions(+), 1240 deletions(-)
delete mode 100644 arch/s390/include/asm/asm-offsets.h
create mode 100644 arch/s390/include/asm/atomic_ops.h
delete mode 100644 arch/s390/include/asm/facilities_src.h
create mode 100644 arch/s390/include/asm/preempt.h