linux/arch/s390/kernel
Matthew Wilcox (Oracle) 53fbef56e0 mm: introduce memdesc_flags_t
Patch series "Add and use memdesc_flags_t".

At some point struct page will be separated from struct slab and struct
folio.  This is a step towards that by introducing a type for the 'flags'
word of all three structures.  This gives us a certain amount of type
safety by establishing that some of these unsigned longs are different
from other unsigned longs in that they contain things like node ID,
section number and zone number in the upper bits.  That lets us have
functions that can be easily called by anyone who has a slab, folio or
page (but not easily by anyone else) to get the node or zone.

There's going to be some unusual merge problems with this as some odd bits
of the kernel decide they want to print out the flags value or something
similar by writing page->flags and now they'll need to write page->flags.f
instead.  That's most of the churn here.  Maybe we should be removing
these things from the debug output?


This patch (of 11):

Wrap the unsigned long flags in a typedef.  In upcoming patches, this will
provide a strong hint that you can't just pass a random unsigned long to
functions which take this as an argument.

[willy@infradead.org: s/flags/flags.f/ in several architectures]
  Link: https://lkml.kernel.org/r/aKMgPRLD-WnkPxYm@casper.infradead.org
[nicola.vetrini@gmail.com: mips: fix compilation error]
  Link: https://lore.kernel.org/lkml/CA+G9fYvkpmqGr6wjBNHY=dRp71PLCoi2341JxOudi60yqaeUdg@mail.gmail.com/
  Link: https://lkml.kernel.org/r/20250825214245.1838158-1-nicola.vetrini@gmail.com
Link: https://lkml.kernel.org/r/20250805172307.1302730-1-willy@infradead.org
Link: https://lkml.kernel.org/r/20250805172307.1302730-2-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Zi Yan <ziy@nvidia.com>
Cc: Shakeel Butt <shakeel.butt@linux.dev>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-09-13 16:55:07 -07:00
..
diag s390: Use inline qualifier for all EX_TABLE and ALTERNATIVE inline assemblies 2025-03-18 17:13:51 +01:00
syscalls fs: introduce file_getattr and file_setattr syscalls 2025-07-02 17:05:17 +02:00
vdso32 s390/vdso: Switch to generic storage implementation 2025-02-21 09:54:02 +01:00
vdso64 s390/vdso: Switch to generic storage implementation 2025-02-21 09:54:02 +01:00
.gitignore
abs_lowcore.c s390/lowcore: Convert relocated lowcore alternative to machine feature 2025-03-04 17:18:05 +01:00
alternative.c s390/alternatives: Add debug functionality 2025-03-04 17:18:08 +01:00
asm-offsets.c s390/mm: Reimplement lazy ASCE handling 2025-04-14 11:23:21 +02:00
audit.c
audit.h
cache.c
cert_store.c s390: Remove optional third argument of strscpy() if possible 2025-04-17 15:16:10 +02:00
compat_audit.c
compat_linux.c
compat_linux.h
compat_ptrace.h
compat_signal.c s390/vdso: Move vdso symbol handling to separate header file 2024-09-13 17:28:36 +02:00
cpacf.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
cpcmd.c s390/cpcmd: Convert to use flag output macros 2024-11-13 14:31:32 +01:00
cpufeature.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
crash_dump.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
ctlreg.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
debug.c s390/debug: Fix typo in debug_sprintf_format_fn() comment 2025-08-06 17:18:27 +02:00
dis.c s390: Remove unnecessary include <linux/export.h> 2025-06-17 18:18:02 +02:00
dumpstack.c s390/asm-offsets: Remove ASM_OFFSETS_C 2025-03-31 12:20:39 +02:00
early_printk.c s390/early: Dump register contents and call trace for early crashes 2024-08-22 19:28:11 +02:00
early.c s390/early: Copy last breaking event address to pt_regs 2025-07-09 09:21:46 +02:00
ebcdic.c
entry.h s390/traps: Change stack overflow message 2025-03-04 17:34:03 +01:00
entry.S stackleak: Rename STACKLEAK to KSTACK_ERASE 2025-07-21 21:35:01 -07:00
facility.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
fpu.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
ftrace.c s390 updates for 6.15 merge window 2025-03-29 11:59:43 -07:00
ftrace.h s390/ftrace: Remove unused ftrace_plt_template* 2024-08-27 20:16:48 +02:00
guarded_storage.c s390/cpufeature: Convert MACHINE_HAS_GS to cpu_has_gs() 2025-03-04 17:18:04 +01:00
head64.S s390/time: Convert MACHINE_HAS_SCC to machine_has_scc() 2025-03-04 17:18:06 +01:00
hiperdispatch.c s390/cpufeature: Convert MACHINE_HAS_TOPOLOGY to cpu_has_topology() 2025-03-04 17:18:05 +01:00
idle.c s390/idle: Remove duplicate get_lowcore() calls 2024-06-18 17:01:33 +02:00
ima_arch.c
ipl_vmparm.c
ipl.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
irq.c s390 updates for 6.15 merge window 2025-03-29 11:59:43 -07:00
jump_label.c
kdebugfs.c
kexec_elf.c
kexec_image.c
kprobes.c s390/cpufeature: Convert MACHINE_HAS_SEQ_INSN to cpu_has_seq_insn() 2025-03-04 17:18:04 +01:00
lgr.c s390: kernel: convert timeouts to use secs_to_jiffies() 2025-01-12 20:21:01 -08:00
machine_kexec_file.c
machine_kexec_reloc.c
machine_kexec.c s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
Makefile s390/skey: Provide infrastructure for executing with non-default access key 2025-06-29 13:12:02 +02:00
mcount.S s390/tracing: Enable HAVE_FTRACE_GRAPH_FUNC 2024-12-26 10:50:05 -05:00
module.c
nmi.c s390/nmi: Print additional information 2025-06-26 15:30:51 +02:00
nospec-branch.c s390/nospec: Push down alternative handling 2024-07-23 16:02:31 +02:00
nospec-sysfs.c s390/nospec: Switch over to sysfs_emit() 2024-10-25 16:03:24 +02:00
numa.c mm/memblock: add memblock_alloc_or_panic interface 2025-01-25 20:22:38 -08:00
os_info.c s390: Remove __bootdata annotations from declarations 2024-12-15 16:19:04 +01:00
perf_cpum_cf_events.c s390/cpumf: Adjust number of leading zeroes for z15 attributes 2025-04-30 11:32:20 +02:00
perf_cpum_cf.c s390: Remove unnecessary include <linux/export.h> 2025-06-17 18:18:02 +02:00
perf_cpum_sf.c s390: Remove unnecessary include <linux/export.h> 2025-06-17 18:18:02 +02:00
perf_event.c s390: Remove unnecessary include <linux/export.h> 2025-06-17 18:18:02 +02:00
perf_pai_crypto.c s390/pai_crypto: Rename PAI Crypto event 4210 2025-07-16 13:57:54 +02:00
perf_pai_ext.c s390: Remove unnecessary include <linux/export.h> 2025-06-17 18:18:02 +02:00
perf_regs.c
process.c s390: Remove unnecessary include <linux/export.h> 2025-06-17 18:18:02 +02:00
processor.c s390: Simple strcpy() to strscpy() conversions 2025-04-30 11:41:27 +02:00
ptrace.c s390/ptrace: Use USER_REGSET_NOTE_TYPE() to specify regset note names 2025-07-14 22:27:48 -07:00
reipl.S s390/kdump: Make kdump ready for lowcore relocation 2024-07-23 16:02:32 +02:00
relocate_kernel.S
rethook.c
rethook.h
runtime_instr.c
setup.c more s390 updates for 6.17 merge window 2025-08-08 06:56:55 +03:00
signal.c s390/vdso: Move vdso symbol handling to separate header file 2024-09-13 17:28:36 +02:00
skey.c s390/skey: Provide infrastructure for executing with non-default access key 2025-06-29 13:12:02 +02:00
smp.c s390/smp: Use monotonic clock in smp_emergency_stop() 2025-07-21 12:41:55 +02:00
stacktrace.c s390/asm-offsets: Remove ASM_OFFSETS_C 2025-03-31 12:20:39 +02:00
sthyi.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
syscall.c s390: Remove 2k vs 4k page table leftovers 2025-03-18 17:13:05 +01:00
sysinfo.c s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
text_amode31.S s390/amode31: Use exrl instead of ex 2025-01-13 09:50:17 +01:00
time.c s390/stp: Default to enabled 2025-07-21 12:41:56 +02:00
topology.c smpboot: introduce SDTL_INIT() helper to tidy sched topology setup 2025-07-14 10:59:34 +02:00
trace.c
traps.c s390 updates for 6.15 merge window 2025-03-29 11:59:43 -07:00
unwind_bc.c s390: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
uprobes.c
uv.c mm: introduce memdesc_flags_t 2025-09-13 16:55:07 -07:00
vdso.c mseal sysmap: enable s390 2025-04-01 15:17:16 -07:00
vmcore_info.c s390: Remove __bootdata annotations from declarations 2024-12-15 16:19:04 +01:00
vmlinux.lds.S s390/skey: Provide infrastructure for executing with non-default access key 2025-06-29 13:12:02 +02:00
vtime.c
wti.c s390/wti: Add debugfs file to display missed grace periods per cpu 2024-08-29 22:56:35 +02:00