mirror-linux/arch/s390/include/asm
Ilya Leoshkevich c9c260681f s390/preempt: mark all functions __always_inline
preempt_count-related functions are quite ubiquitous and may be called
by noinstr ones, introducing unwanted instrumentation. Here is one
example call chain:

  irqentry_nmi_enter()  # noinstr
    lockdep_hardirqs_enabled()
      this_cpu_read()
        __pcpu_size_call_return()
          this_cpu_read_*()
            this_cpu_generic_read()
              __this_cpu_generic_read_nopreempt()
                preempt_disable_notrace()
                  __preempt_count_inc()
                    __preempt_count_add()

They are very small, so there are no significant downsides to
force-inlining them.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Link: https://lore.kernel.org/r/20240320230007.4782-3-iii@linux.ibm.com
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2024-04-03 15:00:20 +02:00
..
trace
vdso s390/vdso/data: Drop unnecessary header include 2024-02-20 20:56:00 +01:00
Kbuild s390: remove <asm/export.h> 2023-08-09 15:20:51 +02:00
abs_lowcore.h s390/mm: allocate Absolute Lowcore Area in decompressor 2023-01-13 14:15:06 +01:00
access-regs.h s390/acrs: cleanup access register handling 2024-02-12 15:03:33 +01:00
airq.h s390/airq: remove lsi_mask from airq_struct 2023-08-30 11:03:28 +02:00
alternative-asm.h
alternative.h
ap.h s390/ap: store TAPQ hwinfo in struct ap_card 2023-11-30 16:24:23 +01:00
appldata.h s390/appldata: fix virtual vs physical address confusion 2024-02-09 13:58:13 +01:00
archrandom.h Random number generator updates for Linux 6.0-rc1. 2022-08-02 17:31:35 -07:00
asm-const.h
asm-extable.h s390: add support for DCACHE_WORD_ACCESS 2023-10-16 13:04:09 +02:00
asm-prototypes.h s390/fpu: move, rename, and merge header files 2024-02-16 14:30:14 +01:00
atomic.h s390/atomic: mark all functions __always_inline 2024-04-03 15:00:19 +02:00
atomic_ops.h s390/atomic: mark all functions __always_inline 2024-04-03 15:00:19 +02:00
barrier.h
bitops.h s390: implement arch_xor_unlock_is_negative_byte 2023-10-18 14:34:17 -07:00
boot_data.h
bug.h s390/bug: remove entry size from __bug_table section 2024-02-14 13:50:53 +01:00
cache.h
ccwdev.h s390/virtio_ccw: use DMA handle from DMA API 2024-03-13 09:23:46 +01:00
ccwgroup.h
checksum.h s390/checksum: provide csum_partial_copy_nocheck() 2024-02-16 14:30:17 +01:00
chpid.h
chsc.h
cio.h s390/virtio_ccw: use DMA handle from DMA API 2024-03-13 09:23:46 +01:00
clocksource.h
clp.h
cmb.h
cmpxchg.h arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
compat.h s390/uapi: cover statfs padding by growing f_spare 2023-05-17 15:20:17 +02:00
cpacf.h s390/pkey: add support for ecc clear key 2023-06-01 17:10:21 +02:00
cpcmd.h
cpu.h
cpu_mf-insn.h
cpu_mf.h s390/cpum_sf: Convert to cmpxchg128() 2023-06-05 09:36:40 +02:00
cpufeature.h s390/uvdevice: autoload module based on CPU facility 2022-07-19 16:18:49 +02:00
cputime.h s390/idle: remove arch_cpu_idle_time() and corresponding code 2023-02-09 20:11:23 +01:00
crw.h
css_chars.h
ctlreg.h s390/ctlreg: return old register contents when changing bits 2023-12-11 14:33:04 +01:00
current.h
debug.h docs: move s390 under arch 2023-07-24 12:12:24 +02:00
delay.h
diag.h s390/hypfs_diag0c: fix virtual vs physical address confusion 2024-02-09 13:58:13 +01:00
dis.h
dma-types.h s390/mm: provide simple ARCH_HAS_DEBUG_VIRTUAL support 2024-03-13 09:23:49 +01:00
dma.h s390/mm: fix MAX_DMA_ADDRESS physical vs virtual confusion 2023-09-05 20:12:51 +02:00
dwarf.h
eadm.h s390/cio: use bitwise types to allow for type checking 2024-03-13 09:23:46 +01:00
ebcdic.h
elf.h
entry-common.h s390/fpu: limit save and restore to used registers 2024-02-16 14:30:16 +01:00
exec.h
extable.h
extmem.h
facility.h KVM: s390: vsie: Fix length of facility list shadowed 2023-12-23 10:41:09 +01:00
fault.h s390/mm: move translation-exception identification structure to fault.h 2023-10-23 18:21:22 +02:00
fcx.h s390/cio: use bitwise types to allow for type checking 2024-03-13 09:23:46 +01:00
fpu-insn-asm.h s390/checksum: provide csum_partial_copy_nocheck() 2024-02-16 14:30:17 +01:00
fpu-insn.h s390/fpu: add vector instruction inline assemblies for crc32 2024-02-16 14:30:18 +01:00
fpu-types.h s390/checksum: provide vector register variant of csum_partial() 2024-02-16 14:30:17 +01:00
fpu.h s390/fpu: limit save and restore to used registers 2024-02-16 14:30:16 +01:00
ftrace.h treewide: update LLVM Bugzilla links 2024-02-22 15:38:51 -08:00
ftrace.lds.h
futex.h s390/futex: add missing EX_TABLE entry to __futex_atomic_op() 2022-10-26 14:47:31 +02:00
gmap.h
hardirq.h
hugetlb.h mm: hugetlb: add huge page size param to set_huge_pte_at() 2023-09-29 17:20:47 -07:00
hw_irq.h
idals.h s390/cio,idal: fix virtual vs physical address confusion 2024-03-13 09:23:47 +01:00
idle.h s390/irq,idle: simplify idle check 2023-02-15 11:07:01 +01:00
io.h s390: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:34 -07:00
ipl.h s390/ipl: add eckd dump support 2022-12-06 16:18:22 +01:00
irq.h s390/irq: use CR0 defines to define CR0_IRQ_SUBCLASS_MASK 2023-09-19 13:26:57 +02:00
irq_work.h arch: consolidate arch_irq_work_raise prototypes 2023-11-23 11:32:29 +01:00
irqflags.h
isc.h
itcw.h
jump_label.h work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
kasan.h s390/kasan: move shadow mapping to decompressor 2023-03-20 11:02:51 +01:00
kdebug.h
kexec.h kexec: drop weak attribute from functions 2022-07-15 12:21:16 -04:00
kfence.h s390/mm: make virt_to_pfn() a static inline 2023-08-16 15:13:03 +02:00
kprobes.h kprobes: unify kprobes_exceptions_nofify() prototypes 2023-11-10 19:59:05 +09:00
kvm_host.h KVM: s390: fix access register usage in ioctls 2024-02-22 16:06:56 +01:00
kvm_para.h
linkage.h s390: make use of CONFIG_FUNCTION_ALIGNMENT 2023-03-20 11:12:46 +01:00
lowcore.h s390/fpu: make kernel fpu context preemptible 2024-02-16 14:30:15 +01:00
maccess.h s390/mm: define Real Memory Copy size and mask macros 2023-08-16 15:13:02 +02:00
mem_encrypt.h s390/mm: fix virtual-physical address confusion for swiotlb 2022-11-07 14:33:40 +01:00
mmu.h s390/mm: use full 4KB page for 2KB PTE 2023-11-05 22:34:58 +01:00
mmu_context.h s390/mm: use full 4KB page for 2KB PTE 2023-11-05 22:34:58 +01:00
mmzone.h
module.h
msi.h irq/s390: Add arch_is_isolated_msi() for s390 2023-01-11 16:27:23 -04:00
nmi.h s390/mcck: cleanup user process termination path 2023-02-28 13:19:05 +01:00
nospec-branch.h
nospec-insn.h s390/expoline: use __ALIGN instead of open coded .align 2023-03-20 11:12:47 +01:00
numa.h
os_info.h s390/ipl: add REIPL_CLEAR flag to os_info 2023-06-01 17:07:56 +02:00
page-states.h s390/cmma: move arch_set_page_dat() to header file 2023-11-05 22:34:58 +01:00
page.h s390/mm: provide simple ARCH_HAS_DEBUG_VIRTUAL support 2024-03-13 09:23:49 +01:00
pai.h s390/pai: adjust whitespace indentation 2024-02-20 14:37:32 +01:00
pci.h s390/pci: introduce lock to synchronize state of zpci_dev's 2024-02-20 14:37:32 +01:00
pci_clp.h s390/pci: Use dma-iommu layer 2023-10-02 08:43:00 +02:00
pci_debug.h
pci_dma.h s390/pci: Use dma-iommu layer 2023-10-02 08:43:00 +02:00
pci_insn.h
pci_io.h s390/pci: fix max size calculation in zpci_memcpy_toio() 2024-01-11 18:22:58 +01:00
percpu.h arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
perf_event.h s390/cpum_sf: remove flag PERF_CPUM_SF_FULL_BLOCKS 2023-03-27 17:19:52 +02:00
pfault.h s390/pfault: cleanup inline assemblies 2023-07-29 14:57:18 +02:00
pgalloc.h s390: supplement for ptdesc conversion 2024-03-06 13:04:18 -08:00
pgtable.h mm/treewide: align up pXd_leaf() retval across archs 2024-03-06 13:04:19 -08:00
physmem_info.h s390: compile relocatable kernel without -fPIE 2024-02-20 14:37:33 +01:00
pkey.h s390/pkey: do not use struct pkey_protkey 2023-06-01 17:10:21 +02:00
pnet.h
preempt.h s390/preempt: mark all functions __always_inline 2024-04-03 15:00:20 +02:00
processor.h s390/entry: add CIF_SIE flag and remove sie64a() address check 2024-03-17 19:08:49 +01:00
ptrace.h s390/entry: compare gmap asce to determine guest/host fault 2024-03-17 19:08:50 +01:00
purgatory.h
qdio.h s390/cio: use bitwise types to allow for type checking 2024-03-13 09:23:46 +01:00
runtime_instr.h
rwonce.h s390/rwonce: add READ_ONCE_ALIGNED_128() macro 2023-02-28 13:19:05 +01:00
schid.h
sclp.h s390: add support for user-defined certificates 2023-07-24 12:12:21 +02:00
scsw.h s390/cio: use bitwise types to allow for type checking 2024-03-13 09:23:46 +01:00
seccomp.h
sections.h s390/amode31: change type of __samode31, __eamode31, etc 2023-08-30 11:03:27 +02:00
set_memory.h s390/set_memory: add __set_memory() variant 2023-08-30 11:03:28 +02:00
setup.h s390/fpu: get rid of MACHINE_HAS_VX 2023-12-11 14:33:07 +01:00
signal.h
sigp.h
smp.h s390/smp: keep the original lowcore for CPU 0 2023-09-19 13:26:55 +02:00
softirq_stack.h asm-generic: Conditionally enable do_softirq_own_stack() via Kconfig. 2022-09-05 17:20:55 +02:00
sparsemem.h
spinlock.h
spinlock_types.h
stacktrace.h s390/switch_to: use generic header file 2024-02-12 15:03:33 +01:00
stp.h
string.h s390/kasan: remove override of mem*() functions 2023-04-19 17:24:16 +02:00
syscall.h
syscall_wrapper.h posix-timers: Get rid of [COMPAT_]SYS_NI() uses 2023-12-20 21:30:27 -08:00
sysinfo.h s390/sysinfo: add variable capacity information 2023-11-22 14:07:28 +01:00
text-patching.h
thread_info.h s390/fpu: remove TIF_FPU 2024-02-16 14:30:16 +01:00
timex.h s390/time: Provide sched_clock_noinstr() 2023-06-05 21:11:06 +02:00
tlb.h mm/mmu_gather: add __tlb_remove_folio_pages() 2024-02-22 15:27:17 -08:00
tlbflush.h
topology.h
tpi.h
types.h
uaccess.h s390/ctlreg: move control register code to separate file 2023-09-19 13:26:56 +02:00
unistd.h
unwind.h s390/kprobes: replace kretprobe with rethook 2023-01-22 18:42:35 +01:00
uprobes.h
user.h
uv.h KVM: s390: pv: Allow AP-instructions for pv-guests 2023-08-28 09:27:56 +00:00
vdso.h
vmalloc.h
vmlinux.lds.h
vtime.h
vtimer.h
word-at-a-time.h kernel.h: removed REPEAT_BYTE from kernel.h 2024-02-01 09:47:59 -08:00
xor.h