linux/arch/s390
Martin Schwidefsky 1b948d6cae s390/mm,tlb: optimize TLB flushing for zEC12
The zEC12 machines introduced the local-clearing control for the IDTE
and IPTE instruction. If the control is set only the TLB of the local
CPU is cleared of entries, either all entries of a single address space
for IDTE, or the entry for a single page-table entry for IPTE.
Without the local-clearing control the TLB flush is broadcasted to all
CPUs in the configuration, which is expensive.

The reset of the bit mask of the CPUs that need flushing after a
non-local IDTE is tricky. As TLB entries for an address space remain
in the TLB even if the address space is detached a new bit field is
required to keep track of attached CPUs vs. CPUs in the need of a
flush. After a non-local flush with IDTE the bit-field of attached CPUs
is copied to the bit-field of CPUs in need of a flush. The ordering
of operations on cpu_attach_mask, attach_count and mm_cpumask(mm) is
such that an underindication in mm_cpumask(mm) is prevented but an
overindication in mm_cpumask(mm) is possible.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2014-04-03 14:31:00 +02:00
..
appldata s390/appldata_os: fix cpu array size calculation 2014-03-07 15:25:55 +01:00
boot s390/boot: Install bzImage as default kernel image 2013-11-15 14:08:36 +01:00
configs s390: update defconfigs 2014-03-17 15:52:57 +01:00
crypto crypto: s390 - fix des and des3_ede ctr concurrency issue 2014-01-30 21:45:14 +08:00
hypfs hypfs: Add clarification for "weight_min" attribute 2014-03-17 15:53:03 +01:00
include s390/mm,tlb: optimize TLB flushing for zEC12 2014-04-03 14:31:00 +02:00
kernel s390/mm,tlb: optimize TLB flushing for zEC12 2014-04-03 14:31:00 +02:00
kvm kvm/s390: also set guest pages back to stable on kexec/kdump 2014-04-01 09:23:38 +02:00
lib s390/bitops: fix comment 2014-02-21 08:50:20 +01:00
math-emu
mm s390/mm,tlb: optimize TLB flushing for zEC12 2014-04-03 14:31:00 +02:00
net s390/bpf,jit: fix 32 bit divisions, use unsigned divide instructions 2014-01-17 18:54:49 -08:00
oprofile s390/irq: Use defines for external interruption codes 2014-04-03 14:30:52 +02:00
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2014-03-31 14:35:30 -07:00
defconfig s390: update defconfigs 2014-03-17 15:52:57 +01:00
Kbuild
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2014-03-31 14:35:30 -07:00
Kconfig.debug
Makefile s390: allow to set gcc -mtune flag 2013-10-31 09:54:01 +01:00