linux/include/asm-generic
Linus Torvalds 91959a31a3 kho: make boot time huge page allocation work nicely with KHO
Today allocation of gigantic pages in HugeTLB cannot work reliably with KHO:
 
 * HugeTLB allocates gigantic pages using memblock and autoscaling of KHO
   scratch accounts for these allocations. When gigantic pages occupy half
   of the memory of more, KHO fails to allocate its scratch memory.
 * After kexec handover, memblock allocations exclusively use KHO scratch
   that is not supposed to contain preserved memory. This essentially blocks
   preservation of HugeTLB with gigantic pages.
 
 Extend early memory pools available for KHO kernel with areas that are
 guaranteed not to contain preserved memory.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEeOVYVaWZL5900a/pOQOGJssO/ZEFAmqK9NwACgkQOQOGJssO
 /ZGN3wgAqX/mXawYnhwDW2J931VsT54RuEctSNTCZ4Va8CWfeVjSV2bD2BlM+ibi
 VtsvEAIdKb8tyx3t+3JLR3jrANE5XcxeDiS7sJG7QWaek6G++GdAmrm7q98rU7Pc
 rqX8kMf65AZpHuV5wzKgF1fuYYur5Y4sKK00GVq+hPyWshmeYhaa+nGtJNe67D1a
 CFw38r5WAPs/DwyvWg/3yfupbgTG6OShHPnKxqR7aaOJE4YnD3snsBM7hot/ZI7e
 kz4TqixkxKn1RXq0XDcj8w11LxhxxsI67x02Fnnc1ClgMynCgDOvRXW6B93qRIRM
 ZUK8fbzIxFDQHnfzWRXcIIsN7r54Ow==
 =JHVN
 -----END PGP SIGNATURE-----

Merge tag 'liveupdate-v7.3-rc1-20260823' of git://git.kernel.org/pub/scm/linux/kernel/git/liveupdate/linux

Pull more liveupdate updates from Mike Rapoport:
 "Make boot time huge page allocation work nicely with kexec handover.

  Today allocation of gigantic pages in HugeTLB cannot work reliably
  with kexec handover (KHO):

   - HugeTLB allocates gigantic pages using memblock and autoscaling of
     KHO scratch accounts for these allocations. When gigantic pages
     occupy half of the memory of more, KHO fails to allocate its
     scratch memory.

   - After kexec handover, memblock allocations exclusively use KHO
     scratch that is not supposed to contain preserved memory. This
     essentially blocks preservation of HugeTLB with gigantic pages.

  Extend early memory pools available for KHO kernel with areas that are
  guaranteed not to contain preserved memory"

* tag 'liveupdate-v7.3-rc1-20260823' of git://git.kernel.org/pub/scm/linux/kernel/git/liveupdate/linux: (21 commits)
  kho: exclude hugetlb memory from scratch size calculation
  memblock: add memblock_reserved_hugetlb_size()
  memblock: make HugeTLB bootmem allocation work with KHO
  memblock: always include KHO headers
  kho: extend scratch
  mm/mm_init: don't rely on memblock to get KHO scratch migratetype
  kho: initialize preserved memory map radix tree earlier
  kho: initialize kho_scratch pointer earlier in boot
  kho: expose kho_scratch_overlap() to kexec_handover.h
  kho: add kho_radix_init_tree()
  kho: allow destroying KHO radix tree
  kho: allow early-boot usage of the KHO radix tree
  kho: add data argument to radix walk callback
  kho: add callback for table pages
  kho: add a struct for radix callbacks
  kho: move all memory retrieval logic to kho_mem_retrieve()
  kho: store incoming radix tree in kho_in
  kho: disallow wide keys in radix tree
  kho: make radix max key width more obvious
  kho: generalize radix tree APIs
  ...
2026-08-23 09:17:38 -07:00
..
bitops bitops: make the *_bit_le functions use unsigned long 2026-07-22 15:38:37 -04:00
vdso vDSO: Make clockmode constants available without CONFIG_GENERIC_GETTIMEOFDAY 2026-08-10 16:25:21 +02:00
access_ok.h
agp.h char/agp: introduce asm-generic/agp.h 2023-02-13 22:13:29 +01:00
archrandom.h
asm-offsets.h
asm-prototypes.h
atomic.h locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
atomic64.h atomic: specify alignment for atomic_t and atomic64_t 2026-01-26 19:07:14 -08:00
audit_change_attr.h audit: add missing syscalls to PERM class tables 2026-06-30 15:58:31 -04:00
audit_dir_write.h
audit_read.h audit: add missing syscalls to PERM class tables 2026-06-30 15:58:31 -04:00
audit_signal.h
audit_write.h audit: add missing syscalls to PERM class tables 2026-06-30 15:58:31 -04:00
barrier.h locking/barrier: Use correct parameter names 2026-05-05 12:50:47 +02:00
bitops.h
bitsperlong.h asm-generic/bitsperlong.h: Add sanity checks for __BITS_PER_LONG 2026-03-11 10:15:43 +01:00
bug.h x86/bug: Implement WARN_ONCE() 2025-11-24 20:23:25 +01:00
cache.h
cacheflush.h mm: Introduce flush_cache_vmap_early() 2023-12-14 00:23:17 -08:00
cfi.h cfi: Flip headers 2023-12-15 16:25:55 -08:00
checksum.h asm-generic: Improve csum_fold 2024-01-17 17:52:29 -08:00
cmpxchg-local.h asm-generic: Fix 32 bit __generic_cmpxchg_local 2024-01-05 23:19:14 +01:00
cmpxchg.h asm-generic: avoid __generic_cmpxchg_local warnings 2023-04-04 17:58:11 +02:00
codetag.lds.h module.lds,codetag: force 0 sh_addr for sections 2026-03-17 23:18:02 +00:00
compat.h
current.h asm-generic: current: Don't include thread-info.h if building asm 2023-08-26 22:38:49 +02:00
delay.h delay: Fix ndelay() spuriously treated as udelay() 2024-11-29 11:40:22 +01:00
device.h
div64.h __arch_xprod64(): make __always_inline when optimizing for performance 2024-10-28 21:44:28 +00:00
dma-mapping.h dma-mapping: no need to pass a bus_type into get_arch_dma_ops() 2023-02-15 12:35:20 +01:00
dma.h
early_ioremap.h mm/early_ioremap: add null pointer checks to prevent NULL-pointer dereference 2025-01-13 22:40:59 -08:00
emergency-restart.h
error-injection.h docs: fault-injection: add requirements of error injectable functions 2023-02-02 22:50:00 -08:00
exec.h
extable.h
fixmap.h mm: replace __ASSEMBLY__ with __ASSEMBLER__ in memory management header files 2026-07-28 21:11:46 -07:00
flat.h
fprobe.h fprobe: Add fprobe_header encoding feature 2024-12-26 10:50:05 -05:00
ftrace.h
futex.h futex: add missing function parameter comments 2026-03-08 11:06:47 +01:00
getorder.h mm: replace __ASSEMBLY__ with __ASSEMBLER__ in memory management header files 2026-07-28 21:11:46 -07:00
hardirq.h
hugetlb.h mm: rename uffd-wp PTE accessors to uffd 2026-08-04 19:18:36 -07:00
hw_irq.h
int-ll64.h
io.h asm-generic/io.h: Skip trace helpers if rwmmio events are disabled 2025-09-24 16:21:13 +02:00
ioctl.h
iomap.h asm-generic/io.h: rework split ioread64/iowrite64 helpers 2025-03-01 21:00:22 +01:00
irq_regs.h
irq_work.h
irq.h
irqflags.h
Kbuild vDSO: Make clockmode constants available without CONFIG_GENERIC_GETTIMEOFDAY 2026-08-10 16:25:21 +02:00
kdebug.h
kexec_handover.h x86/setup: do not include kexec_handover.h from asm/setup.h 2026-07-07 08:51:52 +03:00
kmap_size.h
kprobes.h kprobes: Replace __ASSEMBLY__ with __ASSEMBLER__ in header file 2026-07-02 21:12:40 +09:00
kvm_para.h
kvm_types.h
linkage.h
local.h locking/generic: Wire up local{,64}_try_cmpxchg() 2023-04-29 09:09:09 +02:00
local64.h locking/generic: Wire up local{,64}_try_cmpxchg() 2023-04-29 09:09:09 +02:00
logic_io.h
mcs_spinlock.h locking: Move MCS struct definition to public header 2025-03-18 10:28:21 -07:00
memory_model.h mm: fix ASSERT_EXCLUSIVE_BITS by passing memdesc_flags_t by pointer 2026-07-30 19:40:31 -07:00
mm_hooks.h mm: remove arch_unmap() 2024-09-01 20:26:13 -07:00
mmiowb_types.h
mmiowb.h
mmu_context.h
mmu.h mm: replace __ASSEMBLY__ with __ASSEMBLER__ in memory management header files 2026-07-28 21:11:46 -07:00
mmzone.h arch, mm: move definition of node_data to generic code 2024-09-03 21:15:28 -07:00
module.h asm-generic: Always define Elf_Rel and Elf_Rela 2025-03-26 15:56:43 -07:00
module.lds.h
mshyperv.h x86/hyperv: Skip LP/VP creation on kexec 2026-04-22 06:23:25 +00:00
msi.h irqchip/gic-v5: Add GICv5 IWB support 2025-07-08 18:35:52 +01:00
nommu_context.h
numa.h arch_numa: switch over to numa_memblks 2024-09-03 21:15:32 -07:00
param.h alpha: regularize the situation with asm/param.h 2025-06-24 22:02:05 -04:00
parport.h
pci_iomap.h
pci.h
percpu_types.h percpu: Sanitize __percpu_qual include hell 2026-06-03 11:38:48 +02:00
percpu.h asm-generic: percpu: Add assembly guard 2025-10-27 16:41:53 +01:00
pgalloc.h mm: skip KASAN tagging for page-allocated page tables 2026-05-28 21:05:01 -07:00
pgtable_uffd.h mm: rename uffd-wp PTE accessors to uffd 2026-08-04 19:18:36 -07:00
pgtable-nop4d.h mm: replace __ASSEMBLY__ with __ASSEMBLER__ in memory management header files 2026-07-28 21:11:46 -07:00
pgtable-nopmd.h mm: replace __ASSEMBLY__ with __ASSEMBLER__ in memory management header files 2026-07-28 21:11:46 -07:00
pgtable-nopud.h mm: replace __ASSEMBLY__ with __ASSEMBLER__ in memory management header files 2026-07-28 21:11:46 -07:00
preempt.h preempt: Introduce __preempt_count_{sub,add}_return() 2026-08-08 22:44:06 +02:00
qrwlock_types.h
qrwlock.h
qspinlock_types.h locking/qspinlock: Clarify pending field layout 2026-06-03 11:38:46 +02:00
qspinlock.h locking/qspinlock: Add contended_release tracepoint 2026-08-07 17:58:10 +02:00
resource.h
ring_buffer.h ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
rqspinlock.h rqspinlock: Fix order in raw_res_spin_(un)lock_irq to allow schedule 2026-06-12 20:35:38 -07:00
runtime-const.h asm-generic/runtime-const: Add dummy runtime_const_mask_32() 2026-07-29 13:17:52 +02:00
rwonce.h rwonce: fix crash by removing READ_ONCE() for unaligned read 2025-03-26 22:16:50 +01:00
seccomp.h
sections.h percpu: Remove __per_cpu_load 2025-02-18 10:16:00 +01:00
serial.h
set_memory.h
shmparam.h
signal.h
simd.h asm-generic: Add sched.h inclusion in simd.h 2025-05-30 20:56:48 +08:00
softirq_stack.h
spinlock_types.h asm-generic: ticket-lock: Reuse arch_spinlock_t of qspinlock 2024-11-11 07:33:16 -08:00
spinlock.h asm-generic: ticket-lock: Add separate ticket-lock.h 2024-11-11 07:33:17 -08:00
statfs.h
string.h
switch_to.h
syscall.h ptrace, treewide: Rename ptrace_report_syscall_entry() to ptrace_report_syscall_permit_entry() 2026-07-12 12:38:02 +02:00
syscalls.h syscalls: mmap(): use unsigned offset type consistently 2024-06-25 15:57:38 +02:00
text-patching.h asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
thread_info_tif.h hrtimer: Push reprogramming timers into the interrupt return path 2026-02-27 16:40:14 +01:00
ticket_spinlock.h riscv: Add qspinlock support 2024-11-11 07:33:20 -08:00
timex.h calibrate: Rework delay timer calibration 2026-07-15 15:04:55 +02:00
tlb.h mm/mmu_gather: replace IPI with synchronize_rcu() when batch allocation fails 2026-04-05 13:53:05 -07:00
tlbflush.h
topology.h include/asm-generic/topology.h: Remove unused definition of cpumask_of_node() 2026-01-30 16:44:38 +01:00
trace_clock.h
uaccess.h uaccess: unify inline vs outline copy_{from,to}_user() selection 2026-05-28 21:24:44 -07:00
unwind_user.h unwind_user: Add user space unwinding API with frame pointer support 2025-07-29 14:46:07 -04:00
user.h
vermagic.h
vga.h empty include/asm-generic/vga.h 2024-11-11 21:51:42 +01:00
video.h arch: Rename fbdev header and source files 2024-05-03 17:07:50 +02:00
vmlinux.lds.h Locking updates for v7.3: 2026-08-18 13:07:17 -07:00
word-at-a-time.h kernel.h: removed REPEAT_BYTE from kernel.h 2024-02-01 09:47:59 -08:00