linux/arch/arm
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
..
boot soc: fixes for 6.17, part 1 2025-08-09 07:58:55 +03:00
common treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
configs sound updates #2 for 6.17-rc1 2025-08-01 12:26:24 -07:00
crypto This update includes the following changes: 2025-07-31 09:45:28 -07:00
include mm: introduce memdesc_flags_t 2025-09-13 16:55:07 -07:00
kernel Significant patch series in this pull request: 2025-08-03 16:23:09 -07:00
lib Crypto library updates for 6.17 2025-07-28 17:58:52 -07:00
mach-actions
mach-alpine
mach-artpec
mach-aspeed ARM: aspeed: Don't select SRAM 2025-05-21 23:07:08 +02:00
mach-at91 ARM: at91: pm: Enable ULP0/ULP1 for SAMA7D65 2025-03-02 17:38:54 +02:00
mach-axxia
mach-bcm ARM: bcm: brcmstb: Drop custom init_irq callback 2024-10-08 15:02:31 -07:00
mach-berlin
mach-clps711x
mach-davinci ARM: davinci: remove support for da830 2025-04-16 18:02:20 +02:00
mach-digicolor
mach-dove ARM: dove: Drop a write-only variable 2024-09-02 16:11:28 +02:00
mach-ep93xx ARM: ep93xx: delete all boardfiles 2024-09-12 14:33:12 +00:00
mach-exynos ARM: Switch to irq_domain_create_*() 2025-05-16 21:06:08 +02:00
mach-footbridge treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
mach-gemini
mach-highbank ARM: Switch to new sys-off handler API 2025-07-04 09:31:17 +02:00
mach-hisi
mach-hpe
mach-imx ARM: Switch to irq_domain_create_*() 2025-05-16 21:06:08 +02:00
mach-ixp4xx
mach-keystone
mach-lpc18xx
mach-lpc32xx dmaengine: Add dma router for pl08x in LPC32XX SoC 2024-08-29 22:54:11 +05:30
mach-mediatek ARM: mediatek: add MT6572 smp bring up code 2025-07-11 10:04:08 +02:00
mach-meson
mach-milbeaut
mach-mmp
mach-mstar
mach-mv78xx0
mach-mvebu ARM: mvebu: Warn about memory chunks too small for DDR training 2024-09-02 14:34:58 +02:00
mach-mxs
mach-nomadik
mach-npcm
mach-omap1 ARM: omap1: ams-delta: use generic device properties for gpio-mmio 2025-07-07 09:31:08 +02:00
mach-omap2 ARM: soc updates for 6.16 2025-05-31 08:03:09 -07:00
mach-orion5x ARM: orion5x: Switch to new sys-off handler API 2024-09-02 14:42:52 +02:00
mach-pxa ARM: Switch to new sys-off handler API 2025-07-04 09:31:17 +02:00
mach-qcom
mach-realtek
mach-rockchip ARM: rockchip: fix kernel hang during smp initialization 2025-07-14 15:38:40 +02:00
mach-rpc ARM: riscpc: make ecard_bus_type constant 2025-01-10 15:42:06 +01:00
mach-s3c soc: fixes for 6.17, part 1 2025-08-09 07:58:55 +03:00
mach-s5pv210
mach-sa1100 treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
mach-shmobile soc: arm platform changes for 6.15 2025-03-27 09:37:18 -07:00
mach-socfpga
mach-spear
mach-sti
mach-stm32 ARM: stm32: add a new SoC - STM32H747 2025-05-14 10:36:14 +02:00
mach-sunxi
mach-tegra ARM: tegra: Use I/O memcpy to write to IRAM 2025-07-09 14:20:31 +02:00
mach-ux500
mach-versatile soc: driver updates for 6.12 2024-09-17 10:48:09 +02:00
mach-vt8500 ARM: Switch to new sys-off handler API 2025-07-04 09:31:17 +02:00
mach-zynq ARM: zynq: Remove unused zynq_slcr_init() declaration 2024-10-02 09:13:08 +02:00
mm mm: introduce memdesc_flags_t 2025-09-13 16:55:07 -07:00
net
nwfpe
plat-orion treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
probes kernel/events/uprobes: pass VMA to set_swbp(), set_orig_insn() and uprobe_write_opcode() 2025-05-11 17:48:18 -07:00
tools fs: introduce file_getattr and file_setattr syscalls 2025-07-02 17:05:17 +02:00
vdso stackleak: Split KSTACK_ERASE_CFLAGS from GCC_PLUGINS_CFLAGS 2025-07-21 21:40:57 -07:00
vfp ARM: 9446/1: Disallow kernel mode NEON when IRQs are disabled 2025-05-29 11:22:25 +01:00
xen ARM: Switch to new sys-off handler API 2025-07-04 09:31:17 +02:00
Kbuild
Kconfig Remove or hide unused tracepoints 2025-07-30 16:41:58 -07:00
Kconfig-nommu
Kconfig.debug ARM: bcm: Support BCMBCA debug UART 2024-10-08 15:02:31 -07:00
Kconfig.platforms
Makefile ARM: 9448/1: Use an absolute path to unified.h in KBUILD_AFLAGS 2025-07-25 15:33:50 +01:00