Centos-kernel-stream-9/include/linux
Artem Savkov 83a521afb0 bpf: Allow per unit prefill for non-fix-size percpu memory allocator
JIRA: https://issues.redhat.com/browse/RHEL-23643

commit c39aa3b289e9c10d0d246cd919b06809f13b72b8
Author: Yonghong Song <yonghong.song@linux.dev>
Date:   Thu Dec 21 19:17:45 2023 -0800

    bpf: Allow per unit prefill for non-fix-size percpu memory allocator
    
    Commit 41a5db8d8161 ("Add support for non-fix-size percpu mem allocation")
    added support for non-fix-size percpu memory allocation.
    Such allocation will allocate percpu memory for all buckets on all
    cpus and the memory consumption is in the order to quadratic.
    For example, let us say, 4 cpus, unit size 16 bytes, so each
    cpu has 16 * 4 = 64 bytes, with 4 cpus, total will be 64 * 4 = 256 bytes.
    Then let us say, 8 cpus with the same unit size, each cpu
    has 16 * 8 = 128 bytes, with 8 cpus, total will be 128 * 8 = 1024 bytes.
    So if the number of cpus doubles, the number of memory consumption
    will be 4 times. So for a system with large number of cpus, the
    memory consumption goes up quickly with quadratic order.
    For example, for 4KB percpu allocation, 128 cpus. The total memory
    consumption will 4KB * 128 * 128 = 64MB. Things will become
    worse if the number of cpus is bigger (e.g., 512, 1024, etc.)
    
    In Commit 41a5db8d8161, the non-fix-size percpu memory allocation is
    done in boot time, so for system with large number of cpus, the initial
    percpu memory consumption is very visible. For example, for 128 cpu
    system, the total percpu memory allocation will be at least
    (16 + 32 + 64 + 96 + 128 + 196 + 256 + 512 + 1024 + 2048 + 4096)
      * 128 * 128 = ~138MB.
    which is pretty big. It will be even bigger for larger number of cpus.
    
    Note that the current prefill also allocates 4 entries if the unit size
    is less than 256. So on top of 138MB memory consumption, this will
    add more consumption with
    3 * (16 + 32 + 64 + 96 + 128 + 196 + 256) * 128 * 128 = ~38MB.
    Next patch will try to reduce this memory consumption.
    
    Later on, Commit 1fda5bb66ad8 ("bpf: Do not allocate percpu memory
    at init stage") moved the non-fix-size percpu memory allocation
    to bpf verificaiton stage. Once a particular bpf_percpu_obj_new()
    is called by bpf program, the memory allocator will try to fill in
    the cache with all sizes, causing the same amount of percpu memory
    consumption as in the boot stage.
    
    To reduce the initial percpu memory consumption for non-fix-size
    percpu memory allocation, instead of filling the cache with all
    supported allocation sizes, this patch intends to fill the cache
    only for the requested size. As typically users will not use large
    percpu data structure, this can save memory significantly.
    For example, the allocation size is 64 bytes with 128 cpus.
    Then total percpu memory amount will be 64 * 128 * 128 = 1MB,
    much less than previous 138MB.
    
    Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
    Acked-by: Hou Tao <houtao1@huawei.com>
    Link: https://lore.kernel.org/r/20231222031745.1289082-1-yonghong.song@linux.dev
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>

Signed-off-by: Artem Savkov <asavkov@redhat.com>
2024-03-27 11:23:42 +01:00
..
amba
atomic locking/atomic: Add generic try_cmpxchg{,64}_local() support 2024-03-20 09:43:03 -04:00
avf
bcma
byteorder
can
ceph
clk
crush
decompress decompress: Use 8 byte alignment 2024-01-04 15:12:25 -05:00
device
dma
dsa
extcon
firmware ASoC: SOF: imx: remove error checks on NULL ipc 2023-12-18 16:30:59 +01:00
fpga
fsl
gpio gpiolib: provide gpiochip_dup_line_label() 2024-02-29 07:29:06 -05:00
greybus
hsi
i3c
iio
input
irqchip
isdn
lockd
mailbox
mdio
mfd mfd: cs42l43: Add support for cs42l43 core driver 2023-12-18 16:31:06 +01:00
mlx4
mlx5 net/mlx5e: Expose catastrophic steering error counters 2024-01-16 09:00:53 +00:00
mmc
mtd
mux
net/intel
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
pcs
perf
phy
pinctrl pinctrl: Convert unsigned to unsigned int 2024-02-29 07:29:06 -05:00
platform_data pwm: lpss: Rename pwm_lpss_probe() --> devm_pwm_lpss_probe() 2024-02-29 07:28:57 -05:00
power
pse-pd
qed
raid
regulator
remoteproc
reset
rpmsg
rtc
sched fork: Generalize PF_IO_WORKER handling 2024-03-20 09:43:04 -04:00
soc Merge: Wireless core and drivers rebase to v6.7 + bug-fixes 2024-02-13 10:13:29 -05:00
soundwire soundwire: bus: Allow SoundWire peripherals to register IRQ handlers 2023-12-18 16:31:06 +01:00
spi
ssb
sunrpc
surface_aggregator
ulpi
unaligned
usb ALSA: usb-audio: Use __le16 for 16bit USB descriptor fields 2023-12-18 16:30:13 +01:00
8250_pci.h
a.out.h
acct.h
acpi.h init: consolidate prototypes in linux/init.h 2024-03-20 09:42:26 -04:00
acpi_agdi.h ACPI: AGDI: Add driver for Arm Generic Diagnostic Dump and Reset device 2024-01-08 13:43:09 -05:00
acpi_apmt.h
acpi_dma.h
acpi_iort.h
acpi_mdio.h
acpi_pmtmr.h
acpi_viot.h
adb.h
adfs_fs.h
adreno-smmu-priv.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
alcor_pci.h
align.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amd-pstate.h
anon_inodes.h
aperture.h video/aperture: Drop primary argument 2024-01-16 11:33:00 +01:00
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arch_topology.h
arm-cci.h
arm-smccc.h KVM: arm64: nvhe: Ignore SVE hint in SMCCC function ID 2024-01-02 02:18:18 -05:00
arm_ffa.h firmware: arm_ffa: Fix FFA device names for logical partitions 2024-01-22 09:28:22 -05:00
arm_sdei.h ACPI: APEI: explicit init of HEST and GHES in apci_init() 2024-01-08 13:43:09 -05:00
armada-37xx-rwtm-mailbox.h
array_size.h kernel.h: Move ARRAY_SIZE() to a separate header 2024-02-29 07:29:00 -05:00
ascii85.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1_encoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_tcp.h
atmdev.h
atmel-isc-media.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atomic.h
attribute_container.h
audit.h
audit_arch.h
auto_dev-ioctl.h
auto_fs.h
auxiliary_bus.h
auxvec.h
average.h
backing-dev-defs.h blk-wbt: Fix detection of dirty-throttled tasks 2024-03-07 13:20:01 +08:00
backing-dev.h
backlight.h
badblocks.h
balloon_compaction.h
base64.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio.h block: Bring back zero_fill_bio_iter 2024-03-07 13:19:55 +08:00
bit_spinlock.h
bitfield.h
bitmap.h
bitops.h
bitrev.h
bits.h
blk-cgroup.h
blk-crypto-profile.h
blk-crypto.h
blk-integrity.h
blk-mq-pci.h
blk-mq-virtio.h
blk-mq.h block: skip start/end time stamping for passthrough IO 2024-03-07 13:19:59 +08:00
blk-pm.h
blk_types.h block: Rename BLK_STS_NEXUS to BLK_STS_RESV_CONFLICT 2024-03-14 16:21:27 +08:00
blkdev.h block: remove disk_clear_zoned 2024-03-07 13:20:00 +08:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h
bootmem_info.h
bottom_half.h
bpf-cgroup-defs.h
bpf-cgroup.h
bpf-netns.h
bpf.h bpf: Do not allocate percpu memory at init stage 2024-03-27 11:23:42 +01:00
bpf_lirc.h
bpf_local_storage.h
bpf_lsm.h
bpf_mem_alloc.h bpf: Allow per unit prefill for non-fix-size percpu memory allocator 2024-03-27 11:23:42 +01:00
bpf_mprog.h
bpf_trace.h
bpf_types.h bpf: Add missing BPF_LINK_TYPE invocations 2024-01-05 11:39:00 +01:00
bpf_verifier.h bpf: keep track of max number of bpf_loop callback iterations 2024-03-27 10:28:00 +01:00
bpfilter.h
bpfptr.h
brcmphy.h net: phy: bcm7xxx: Add EPHY entry for 74165 2024-01-09 10:42:02 +01:00
bsearch.h
bsg-lib.h
bsg.h
btf.h bpf: Add __bpf_hook_{start,end} macros 2024-03-27 11:23:42 +01:00
btf_ids.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build-salt.h
build_bug.h
buildid.h
bvec.h
c2port.h
cache.h
cacheflush.h
cacheinfo.h
capability.h
cb710.h
cc_platform.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cfi.h
cfi_types.h cfi: Add type helper macros 2024-03-20 09:42:42 -04:00
cgroup-defs.h Merge: cgroup/rstat: Reduce cpu_lock hold time in cgroup_rstat_flush_locked() 2024-02-07 13:07:57 -05:00
cgroup.h cgroup: Prepare for using css_task_iter_*() in BPF 2024-03-27 10:27:54 +01:00
cgroup_api.h
cgroup_rdma.h
cgroup_refcnt.h
cgroup_subsys.h
circ_buf.h
cleanup.h cleanup: Make no_free_ptr() __must_check 2023-12-18 09:06:12 -03:00
clk-provider.h
clk.h
clkdev.h
clockchips.h
clocksource.h
clocksource_ids.h
cm4000_cs.h
cma.h
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h
compat.h syscalls: Cleanup references to sys_lookup_dcookie() 2024-03-20 09:43:26 -04:00
compiler-clang.h locking: Introduce __cleanup() based infrastructure 2023-12-18 09:06:12 -03:00
compiler-gcc.h randstruct: Reorganize Kconfigs and attribute macros 2024-03-20 09:42:34 -04:00
compiler-version.h
compiler.h
compiler_attributes.h Remove Intel compiler support 2024-03-20 09:42:44 -04:00
compiler_types.h Remove Intel compiler support 2024-03-20 09:42:44 -04:00
completion.h
component.h
configfs.h
connector.h
console.h vgacon: remove screen_info dependency 2024-03-20 09:43:31 -04:00
console_struct.h
consolemap.h
const.h
container.h
container_of.h
context_tracking.h
context_tracking_irq.h
context_tracking_state.h
cookie.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
counter_enum.h
cper.h
cpu.h cpu-hotplug: Provide prototypes for arch CPU registration 2024-03-20 09:43:30 -04:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu_smt.h
cpufeature.h
cpufreq.h x86/aperfmperf: Replace aperfmperf_get_khz() 2024-03-20 09:42:34 -04:00
cpuhotplug.h cpu/hotplug: Allow "parallel" bringup up to CPUHP_BP_KICK_AP_STATE 2024-02-06 10:17:13 -05:00
cpuidle.h
cpuidle_haltpoll.h
cpumask.h cpuidle, ACPI: Make noinstr clean 2024-03-20 09:42:54 -04:00
cpumask_api.h
cpuset.h cgroup/cpuset: Include isolated cpuset CPUs in cpu_is_isolated() check 2024-01-16 14:34:20 -05:00
crash_core.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
cred.h
crypto.h
cs5535.h
ctype.h
cuda.h
cxl_err.h
damon.h
dasd_mod.h
davinci_emac.h
dax.h
dca.h
dcache.h
dccp.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h init: consolidate prototypes in linux/init.h 2024-03-20 09:42:26 -04:00
delayacct.h
delayed_call.h
dev_printk.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h
device.h devres: Provide krealloc_array 2024-02-29 07:29:05 -05:00
device_cgroup.h
devm-helpers.h
devpts_fs.h
dfl.h
digsig.h
dim.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm-verity-loadpin.h
dm9000.h
dma-buf.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence-unwrap.h
dma-fence.h dma-buf: fix check in dma_resv_add_fence 2024-02-01 07:02:35 +02:00
dma-heap.h
dma-map-ops.h
dma-mapping.h
dma-resv.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dpll.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd_config.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds2782_battery.h
dtlk.h
dtpm.h
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h Revert "Merge: EDAC: add initial support for El Capitan" 2024-03-14 18:14:13 -04:00
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h efi/runtime-wrappers: Remove duplicated macro for service returning void 2024-03-20 09:43:21 -04:00
efi_embedded_fw.h
efs_vh.h
eisa.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h elfcore: Add a cprm parameter to elf_core_extra_{phdrs,data_size} 2024-03-20 09:42:53 -04:00
elfnote-lto.h
elfnote.h
enclosure.h
energy_model.h
entry-common.h
entry-kvm.h
err.h
errname.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h
ethtool.h Merge: add kabi reserved fields and excludes to networking 2024-01-22 12:01:19 -05:00
ethtool_netlink.h
eventfd.h
eventpoll.h
evm.h evm: don't copy up 'security.evm' xattr 2024-03-20 16:13:20 +08:00
export.h export: fix string handling of namespace in EXPORT_SYMBOL_NS 2024-02-29 07:29:03 -05:00
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject-usercopy.h
fault-inject.h
fb.h fbdev: Remove conflict-handling code 2024-01-16 11:32:59 +01:00
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h locking: Introduce __cleanup() based infrastructure 2023-12-18 09:06:12 -03:00
fileattr.h
filter.h bpf: Fix the comment for bpf_restore_data_end() 2024-03-27 10:27:52 +01:00
find.h lib/find_bit: add find_next{,_and}_bit_wrap 2024-03-20 09:42:41 -04:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h
fortify-string.h string: Add __realloc_size hint to kmemdup() 2023-12-18 09:06:08 -03:00
fprobe.h
freelist.h
freezer.h
frontswap.h
fs.h evm: add support to disable EVM on unsupported filesystems 2024-03-20 16:13:21 +08:00
fs_api.h
fs_context.h
fs_enet_pd.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypt.h
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h
fsnotify_backend.h
fsverity.h
ftrace.h ftrace: selftest: remove broken trace_direct_tramp 2024-03-20 09:43:00 -04:00
ftrace_irq.h
futex.h
fwnode.h
fwnode_mdio.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genl_magic_func.h genetlink: replace custom CONCATENATE() implementation 2024-03-20 09:43:21 -04:00
genl_magic_struct.h genetlink: replace custom CONCATENATE() implementation 2024-03-20 09:43:21 -04:00
getcpu.h
gfp.h
gfp_api.h
gfp_types.h
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
greybus.h
group_cpus.h
hardirq.h
hash.h
hashtable.h
hashtable_api.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h
hid_bpf.h
hidden.h
hiddev.h
hidraw.h
highmem-internal.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hmm.h
host1x.h
host1x_context_bus.h
hp_sdc.h
hpet.h
hrtimer.h
hrtimer_api.h
hrtimer_defs.h
htcpld.h
hte.h
huge_mm.h
hugetlb.h
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h hv: hyperv.h: Replace one-element array with flexible-array member 2024-01-31 21:46:22 -05:00
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-smbus.h
i2c.h
i8042.h
i8253.h
icmp.h
icmpv6.h
idle_inject.h
idr.h
ieee80211.h wifi: ieee80211: don't require protected vendor action frames 2024-02-01 15:29:59 +01:00
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_hsr.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_rmnet.h
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h x86/kexec: Carry forward IMA measurement log on kexec 2024-03-20 09:42:38 -04:00
imx-media.h
in.h
in6.h
indirect_call_wrapper.h
inet.h
inet_diag.h
inetdevice.h net: add reserved fields to ipv4_devconf 2024-01-12 14:27:38 +01:00
init.h x86/mem_encrypt: Remove stale mem_encrypt_init() declaration 2024-03-20 09:42:27 -04:00
init_ohci1394_dma.h
init_syscalls.h
init_task.h
initrd.h
inotify.h
input.h
instruction_pointer.h x86/ibt: Suppress spurious ENDBR 2024-03-20 09:43:23 -04:00
instrumentation.h
instrumented.h
int_log.h lib/math/int_log: Replace LGPL-2.1-or-later boilerplate with SPDX identifier 2023-12-18 16:30:35 +01:00
integrity.h
intel-ish-client-if.h
intel_rapl.h
intel_th.h
intel_tpmi.h
interconnect-provider.h
interconnect.h
interrupt.h
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io-pgtable.h
io.h
io_uring.h
io_uring_types.h io_uring/kbuf: defer release of mapped buffer rings 2024-02-05 16:33:39 -05:00
iocontext.h
iomap.h
iommu-helper.h
iommu.h
iommufd.h
iopoll.h
ioport.h
ioprio.h
iosys-map.h
iova.h
iova_bitmap.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_smi.h
ipv6.h net: add reserved fields to ipv6_devconf 2024-01-12 14:27:37 +01:00
ipv6_route.h
irq.h Merge: Rebase Arm GiC driver to upstream v6.6 2024-02-09 09:03:06 -05:00
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h
irqdomain_defs.h
irqflags.h locking: Introduce __cleanup() based infrastructure 2023-12-18 09:06:12 -03:00
irqhandler.h
irqnr.h
irqreturn.h
isa-dma.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h iscsi_ibft: Fix finding the iBFT under Xen Dom 0 2024-03-20 09:43:11 -04:00
ism.h
iversion.h
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h jump_label: make initial NOP patching the special case 2024-03-20 09:43:04 -04:00
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan-enabled.h
kasan-tags.h
kasan.h mm: kasan: Declare kasan_unpoison_task_stack_below in kasan.h 2024-03-27 11:23:41 +01:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kcsan-checks.h
kcsan.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h sections: move and rename core_kernel_data() to is_kernel_core_data() 2024-03-20 09:43:21 -04:00
kernel_read_file.h
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h
key-type.h keys, dns: Allow key types (eg. DNS) to be reclaimed immediately on expiry 2024-01-15 15:27:11 +01:00
key.h
keyboard.h
keyctl.h
kfence.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsan-checks.h
kmsan.h
kmsan_string.h
kmsan_types.h
kmsg_dump.h
kobj_map.h
kobject.h kobject: modify kobject_get_path() to take a const * 2024-01-07 22:18:02 -05:00
kobject_api.h
kobject_ns.h
kprobes.h x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe range 2024-03-20 09:42:59 -04:00
kref.h
kref_api.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kstrtox.h
kthread.h
ktime.h
ktime_api.h
kvm_dirty_ring.h
kvm_host.h
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lantiq.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-class-multicolor.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-ti-lmu-common.h
leds.h
libata.h
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h
libps2.h
license.h
limits.h range.h: Move resource API and constant to respective files 2024-03-20 09:43:21 -04:00
linear_range.h
linkage.h
linkmode.h ethtool: untangle the linkmode and ethtool headers 2024-01-08 10:24:36 +01:00
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
litex.h
livepatch.h
livepatch_sched.h
llc.h
llist.h
llist_api.h
local_lock.h
local_lock_internal.h Revert "locking/local_lock: Make the empty local_lock_*() function a macro." 2024-03-20 09:42:30 -04:00
lockdep.h debugobjects,locking: Annotate debug_object_fill_pool() wait type violation 2024-01-15 10:10:43 -05:00
lockdep_api.h
lockdep_types.h debugobjects,locking: Annotate debug_object_fill_pool() wait type violation 2024-01-15 10:10:43 -05:00
lockref.h
log2.h
logic_iomem.h
logic_pio.h logic_pio: Remove logic_outb(), _outw(), outl() duplicate declarations 2024-02-25 08:39:31 -07:00
lp.h
lru_cache.h
lsm_audit.h
lsm_hook_defs.h
lsm_hooks.h
lz4.h
lzo.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mailbox_client.h
mailbox_controller.h
map_benchmark.h
maple.h
maple_tree.h
marvell_phy.h net: phy: marvell-88q2xxx: add driver for the Marvell 88Q2110 PHY 2024-01-09 11:58:38 +01:00
math.h
math64.h Merge: ccimx93-dvk: imx-dwmac: backport upstream support 2024-02-01 11:34:45 -05:00
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h Merge: net: phy: mdio_device: Reset device only when necessary 2024-01-30 12:49:21 -05:00
mei_aux.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h
memfd.h
memory-tiers.h
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memregion.h
memremap.h
memstick.h
mhi.h
mhi_ep.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h
mii_timestamper.h
min_heap.h
minmax.h
misc_cgroup.h
miscdevice.h
mm.h mm: Make pte_mkwrite() take a VMA 2024-03-20 09:43:13 -04:00
mm_api.h
mm_inline.h mm/mglru: fix underprotected page cache 2024-03-13 10:35:40 -06:00
mm_types.h
mm_types_task.h
mman.h x86/mm: Introduce MAP_ABOVE4G 2024-03-20 09:43:13 -04:00
mmap_lock.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mmu_notifiers: rename invalidate_range notifier 2024-02-26 15:51:24 -07:00
mmzone.h mm, vmscan: remove ISOLATE_UNMAPPED 2024-03-13 11:38:35 -06:00
mnt_idmapping.h
mnt_namespace.h
mod_devicetable.h
module.h net: exclude BPF/XDP from kABI 2024-01-12 14:27:39 +01:00
module_signature.h
moduleloader.h
moduleparam.h
most.h
mount.h
moxtet.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h
msdos_fs.h
msdos_partition.h
msg.h
msi.h x86/pci/xen: populate MSI sysfs entries 2024-03-20 09:43:03 -04:00
msi_api.h
mtio.h
mutex.h locking: Introduce __cleanup() based infrastructure 2023-12-18 09:06:12 -03:00
mutex_api.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
namei.h
nd.h
ndctl.h
net.h net: add reserved fields to socket_wq 2024-01-12 14:27:39 +01:00
net_tstamp.h
netdev_features.h
netdevice.h net: exclude BPF/XDP from kABI 2024-01-12 14:27:39 +01:00
netfilter.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_netdev.h
netfs.h
netlink.h net: add reserved fields to netlink_ext_ack 2024-01-12 14:27:38 +01:00
netpoll.h
nfs.h
nfs3.h
nfs4.h NFSv4, NFSD: move enum nfs_cb_opnum4 to include/linux/nfs4.h 2024-03-13 09:37:57 -04:00
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_iostat.h
nfs_page.h
nfs_ssc.h
nfs_xdr.h
nfsacl.h
nitro_enclaves.h
nl802154.h
nls.h
nmi.h x86/nmi: Print reasons why backtrace NMIs are ignored 2024-03-20 09:42:55 -04:00
node.h
nodemask.h
nospec.h
notifier.h notifier: Add atomic_notifier_call_chain_is_empty() 2024-03-20 09:42:36 -04:00
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h x86/numa: Introduce numa_fill_memblks() 2024-03-20 09:43:23 -04:00
nvme-auth.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme-tcp.h
nvme.h
nvmem-consumer.h
nvmem-provider.h
nvram.h
objagg.h
objtool.h x86/speculation, objtool: Use absolute relocations for annotations 2024-03-20 09:43:25 -04:00
objtool_types.h x86,objtool: Introduce ORC_TYPE_* 2024-03-20 09:43:01 -04:00
of.h x86/kexec: Carry forward IMA measurement log on kexec 2024-03-20 09:42:38 -04:00
of_address.h
of_clk.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
oid_registry.h
olpc-ec.h x86/platform: Avoid missing-prototype warnings for OLPC 2024-03-20 09:43:08 -04:00
omap-dma.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
once_lite.h
oom.h
openvswitch.h
osq_lock.h
overflow.h
packing.h
padata.h
page-flags-layout.h
page-flags.h
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
page_reporting.h
page_table_check.h
pageblock-flags.h
pagemap.h
pagevec.h
pagewalk.h mm/pagewalk: don't trigger test_walk() in walk_page_vma() 2024-01-19 10:06:44 -07:00
panic.h
panic_notifier.h
parman.h
parport.h
parport_pc.h
parser.h
part_stat.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-ats.h
pci-dma-compat.h
pci-doe.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci.h PCI/ASPM: Fix deadlock when enabling ASPM 2024-02-25 08:41:12 -07:00
pci_hotplug.h
pci_ids.h x86/earlyprintk: Clean up pciserial 2024-03-20 09:42:40 -04:00
pcs-lynx.h
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h mm/percpu.c: introduce pcpu_alloc_size() 2024-03-27 10:27:55 +01:00
percpu_counter.h
perf_event.h perf: Add branch_sample_call_stack 2024-02-01 17:40:34 +01:00
perf_event_api.h
perf_regs.h
personality.h
pfn.h
pfn_t.h
pgtable.h mm: Make pte_mkwrite() take a VMA 2024-03-20 09:43:13 -04:00
pgtable_api.h
phonet.h
phy.h net: phy: Introduce PSGMII PHY interface mode 2024-01-09 12:02:23 +01:00
phy_fixed.h
phy_led_triggers.h
phylib_stubs.h net: phy: provide phylib stubs for hardware timestamping operations 2024-01-09 11:58:39 +01:00
phylink.h net: phylink: add phylink_limit_mac_speed() 2024-01-09 12:02:24 +01:00
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform-feature.h virtio: replace restricted mem access flag with callback 2024-03-20 09:42:37 -04:00
platform_device.h
platform_profile.h
pldmfw.h
plist.h
pm-trace.h
pm.h Merge: arm: Add SCMI performance domain and dynamic OPP support 2024-03-18 16:54:19 -03:00
pm_clock.h
pm_domain.h PM: domains: Introduce dev_pm_domain_set_performance_state() 2024-03-06 16:24:00 -05:00
pm_opp.h OPP: Extend dev_pm_opp_data with a level 2024-01-20 19:35:48 -05:00
pm_qos.h
pm_runtime.h PM: Improve EXPORT_*_DEV_PM_OPS macros 2024-02-29 07:29:03 -05:00
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
polynomial.h
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
power_supply.h
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps_kernel.h
pr.h block: Add PR callouts for read keys and reservation 2024-03-14 16:21:23 +08:00
prandom.h
preempt.h locking: Introduce __cleanup() based infrastructure 2023-12-18 09:06:12 -03:00
prefetch.h locking: remove spin_lock_prefetch 2024-03-20 09:43:20 -04:00
prime_numbers.h
printk.h
prmt.h
proc_fs.h x86: Expose thread features in /proc/$PID/status 2024-03-20 09:43:14 -04:00
proc_ns.h
processor.h
profile.h
projid.h
property.h
pruss_driver.h
psci.h
pseudo_fs.h
psi.h
psi_types.h
psp-platform-access.h
psp-sev.h
psp-tee.h
psp.h
pstore.h
pstore_blk.h
pstore_ram.h
pstore_zone.h
ptdump.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptp_kvm.h
ptp_pch.h
ptr_ring.h
ptrace.h
ptrace_api.h
purgatory.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qnx6_fs.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h stackprotector: move get_random_canary() into stackprotector.h 2024-03-20 09:43:05 -04:00
randomize_kstack.h
range.h range.h: Move resource API and constant to respective files 2024-03-20 09:43:21 -04:00
ras.h
ratelimit.h
ratelimit_types.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rbtree_types.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h locking: Introduce __cleanup() based infrastructure 2023-12-18 09:06:12 -03:00
rcupdate_trace.h
rcupdate_wait.h
rcuref.h
rcutiny.h rcu: Remove rcu_is_idle_cpu() 2024-03-20 09:42:38 -04:00
rcutree.h rcu: Remove rcu_is_idle_cpu() 2024-03-20 09:42:38 -04:00
rcuwait.h
rcuwait_api.h
reboot-mode.h
reboot.h kernel/reboot: Add do_kernel_power_off() 2024-03-20 09:42:36 -04:00
reciprocal_div.h
ref_tracker.h
refcount.h
refcount_api.h
regmap.h regmap: Let users check if a register is cached 2023-12-18 16:30:49 +01:00
regset.h
relay.h
remoteproc.h
resctrl.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
resume_user_mode.h
rethook.h fprobe: Ensure running fprobe_exit_handler() finished before calling rethook_free() 2024-03-05 08:48:38 +01:00
rfkill.h
rh_kabi.h redhat: rh_kabi: introduce RH_KABI_EXCLUDE_WITH_SIZE 2024-01-11 15:13:22 +01:00
rhashtable-types.h
rhashtable.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rslib.h
rtc.h
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h misc: rtsx: add to support new card reader rts5264 new definition and function 2024-01-12 09:39:29 -05:00
rtsx_usb.h
rv.h
rwbase_rt.h
rwlock.h
rwlock_api_smp.h
rwlock_rt.h
rwlock_types.h
rwsem.h locking: Introduce __cleanup() based infrastructure 2023-12-18 09:06:12 -03:00
s3c_adc_battery.h
sbitmap.h
scatterlist.h
scc.h
sched.h x86/split_lock: Make life miserable for split lockers 2024-03-20 09:42:47 -04:00
sched_clock.h
scmi_protocol.h firmware: arm_scmi: Drop redundant ->device_domain_id() from perf ops 2024-01-20 19:35:47 -05:00
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
seccomp.h
secretmem.h
securebits.h
security.h
sed-opal-key.h block:sed-opal: SED Opal keystore 2024-03-07 13:19:57 +08:00
sed-opal.h block: sed-opal: keyring support for SED keys 2024-03-07 13:19:55 +08:00
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
sem.h
semaphore.h Change DEFINE_SEMAPHORE() to take a number argument 2024-03-20 09:43:05 -04:00
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
seqlock_api.h
seqno-fence.h
serdev.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h serial: Add uart_rs485_config() 2024-01-03 11:30:26 -05:00
serial_max3100.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.h x86/mm: Implement native set_memory_rox() 2024-03-20 09:42:52 -04:00
sfp.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h
signal_types.h
signalfd.h
siox.h
siphash.h
sizes.h
skb_array.h
skbuff.h net: exclude skb_ext from kABI 2024-01-12 14:27:39 +01:00
skmsg.h
slab.h mm/slab: Add __free() support for kvfree 2023-12-18 09:10:54 -03:00
slab_def.h
slimbus.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h cpu: Mark nmi_panic_self_stop() __noreturn 2024-03-20 09:43:02 -04:00
smp_types.h
smpboot.h
smsc911x.h
smscphy.h net: phy: smsc: add WoL support to LAN8740/LAN8742 PHYs 2024-01-09 11:58:38 +01:00
sock_diag.h
socket.h
sockptr.h
softirq.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h locking: Introduce __cleanup() based infrastructure 2023-12-18 09:06:12 -03:00
spinlock_api.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_rt.h
spinlock_types.h
spinlock_types_raw.h
spinlock_types_up.h
spinlock_up.h
splice.h
spmi.h
sram.h
srcu.h locking: Introduce __cleanup() based infrastructure 2023-12-18 09:06:12 -03:00
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackleak.h
stackprotector.h stackprotector: move get_random_canary() into stackprotector.h 2024-03-20 09:43:05 -04:00
stacktrace.h
start_kernel.h init: Mark start_kernel() __noreturn 2024-03-20 09:43:02 -04:00
stat.h
statfs.h
static_call.h static_call: Remove __DEFINE_STATIC_CALL macro 2024-03-20 09:42:30 -04:00
static_call_types.h
static_key.h
stdarg.h
stddef.h
stm.h
stmmac.h net: stmmac: add new mode parameter for fix_mac_speed 2024-01-04 09:56:22 -05:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h kernel.h: Move ARRAY_SIZE() to a separate header 2024-02-29 07:29:00 -05:00
string_choices.h
string_helpers.h
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
surface_acpi_notify.h
suspend.h
svga.h
sw842.h
swab.h
swait.h
swait_api.h
swap.h
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscall_user_dispatch.h
syscalls.h syscalls: Cleanup references to sys_lookup_dcookie() 2024-03-20 09:43:26 -04:00
syscalls_api.h
syscore_ops.h
sysctl.h
sysfb.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tee_drv.h tee: remove tee_shm_va2pa() and tee_shm_pa2va() 2024-01-22 09:28:20 -05:00
tegra-icc.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h thread_info: move function declarations to linux/thread_info.h 2024-03-20 09:43:10 -04:00
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h tick/nohz: Remove unused tick_nohz_idle_stop_tick_protected() 2024-03-20 09:42:58 -04:00
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h
time64.h
time_namespace.h vdso/timens: Refactor copy-pasted find_timens_vvar_page() helper into one copy 2024-03-20 09:42:49 -04:00
timecounter.h
timekeeper_internal.h
timekeeping.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
tpm_eventlog.h
trace.h
trace_clock.h
trace_events.h bpf: Add missed value to kprobe perf link info 2024-03-27 11:23:41 +01:00
trace_recursion.h
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tsm.h configfs-tsm: Introduce a shared ABI for attestation reports 2023-12-18 09:04:09 -03:00
tty.h
tty_buffer.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty_port.h
typecheck.h
types.h types: Introduce [us]128 2024-03-20 09:43:09 -04:00
u64_stats_sync.h
u64_stats_sync_api.h
uacce.h
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio.h
uio_driver.h uio: introduce UIO_MEM_DMA_COHERENT type 2024-02-19 10:00:39 -08:00
umh.h
unicode.h
units.h
uprobes.h
usb.h
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
usermode_driver.h
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
vdpa.h
verification.h
vermagic.h randstruct: Reorganize Kconfigs and attribute macros 2024-03-20 09:42:34 -04:00
vexpress.h
vfio.h
vfio_pci_core.h
vfs.h
vga_switcheroo.h
vgaarb.h
vhost_iotlb.h
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h
virtio_anchor.h virtio: replace restricted mem access flag with callback 2024-03-20 09:42:37 -04:00
virtio_byteorder.h
virtio_caif.h
virtio_config.h virtio: replace arch_has_restricted_virtio_memory_access() 2024-03-20 09:42:37 -04:00
virtio_console.h
virtio_dma_buf.h
virtio_net.h
virtio_pci_legacy.h
virtio_pci_modern.h
virtio_ring.h
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1-gpio.h
w1.h
wait.h
wait_api.h
wait_bit.h
watch_queue.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h workqueue: Add workqueue_unbound_exclude_cpumask() to exclude CPUs from wq_unbound_cpumask 2024-01-16 14:24:47 -05:00
workqueue_api.h
writeback.h
ww_mutex.h
wwan.h
xarray.h
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zstd_errors.h
zstd_lib.h
zutil.h