mirror-linux/include/linux
Menglong Dong 378b770819 sched: Make migrate_{en,dis}able() inline
For now, migrate_enable and migrate_disable are global, which makes them
become hotspots in some case. Take BPF for example, the function calling
to migrate_enable and migrate_disable in BPF trampoline can introduce
significant overhead, and following is the 'perf top' of FENTRY's
benchmark (./tools/testing/selftests/bpf/bench trig-fentry):

  54.63% bpf_prog_2dcccf652aac1793_bench_trigger_fentry [k]
                 bpf_prog_2dcccf652aac1793_bench_trigger_fentry
  10.43% [kernel] [k] migrate_enable
  10.07% bpf_trampoline_6442517037 [k] bpf_trampoline_6442517037
  8.06% [kernel] [k] __bpf_prog_exit_recur
  4.11% libc.so.6 [.] syscall
  2.15% [kernel] [k] entry_SYSCALL_64
  1.48% [kernel] [k] memchr_inv
  1.32% [kernel] [k] fput
  1.16% [kernel] [k] _copy_to_user
  0.73% [kernel] [k] bpf_prog_test_run_raw_tp

So in this commit, we make migrate_enable/migrate_disable inline to obtain
better performance. The struct rq is defined internally in
kernel/sched/sched.h, and the field "nr_pinned" is accessed in
migrate_enable/migrate_disable, which makes it hard to make them inline.

Alexei Starovoitov suggests to generate the offset of "nr_pinned" in [1],
so we can define the migrate_enable/migrate_disable in
include/linux/sched.h and access "this_rq()->nr_pinned" with
"(void *)this_rq() + RQ_nr_pinned".

The offset of "nr_pinned" is generated in include/generated/rq-offsets.h
by kernel/sched/rq-offsets.c.

Generally speaking, we move the definition of migrate_enable and
migrate_disable to include/linux/sched.h from kernel/sched/core.c. The
calling to __set_cpus_allowed_ptr() is leaved in ___migrate_enable().

The "struct rq" is not available in include/linux/sched.h, so we can't
access the "runqueues" with this_cpu_ptr(), as the compilation will fail
in this_cpu_ptr() -> raw_cpu_ptr() -> __verify_pcpu_ptr():
  typeof((ptr) + 0)

So we introduce the this_rq_raw() and access the runqueues with
arch_raw_cpu_ptr/PERCPU_PTR directly.

The variable "runqueues" is not visible in the kernel modules, and export
it is not a good idea. As Peter Zijlstra advised in [2], we define and
export migrate_enable/migrate_disable in kernel/sched/core.c too, and use
them for the modules.

Before this patch, the performance of BPF FENTRY is:

  fentry         :  113.030 ± 0.149M/s
  fentry         :  112.501 ± 0.187M/s
  fentry         :  112.828 ± 0.267M/s
  fentry         :  115.287 ± 0.241M/s

After this patch, the performance of BPF FENTRY increases to:

  fentry         :  143.644 ± 0.670M/s
  fentry         :  149.764 ± 0.362M/s
  fentry         :  149.642 ± 0.156M/s
  fentry         :  145.263 ± 0.221M/s

Signed-off-by: Menglong Dong <dongml2@chinatelecom.cn>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/bpf/CAADnVQ+5sEDKHdsJY5ZsfGDO_1SEhhQWHrt2SMBG5SYyQ+jt7w@mail.gmail.com/ [1]
Link: https://lore.kernel.org/all/20250819123214.GH4067720@noisy.programming.kicks-ass.net/ [2]
2025-09-25 09:57:16 +02:00
..
amba
atomic
avf
bcma
bnxt
bus
byteorder
can
cdx
ceph
clk
comedi
crush
decompress
device
dma
dsa
extcon
firmware pmdomain core: 2025-07-29 11:42:31 -07:00
fpga
framer
fsl
gpio treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
greybus
habanalabs
hsi
i3c i3c: Add more parameters for controllers to the header 2025-07-31 01:33:20 +02:00
iio
input Input: touch-overlay - add touchscreen overlay handling 2025-07-27 01:41:21 -07:00
io_uring
irqchip KVM/arm64 changes for 6.17, round #1 2025-07-29 12:27:40 -04:00
isdn
lockd
lsm
mailbox
mdio
memory
mfd MFD for v6.17 2025-07-31 11:50:25 -07:00
misc
mlx4
mlx5 RDMA support for DMA handle 2025-07-23 01:38:56 -04:00
mmc
mtd * MTD changes: 2025-07-31 13:43:02 -07:00
mux
net/intel libie: add adminq helper for converting err to str 2025-07-24 09:38:29 -07:00
netfilter netfilter: x_tables: Remove unused functions xt_{in|out}name() 2025-07-25 18:36:42 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
pcs
pds
perf
phy
pinctrl
platform_data platform/x86: int3472: add hpd pin support 2025-08-18 09:55:05 +02:00
power
pse-pd
pwrseq
qat
qed
raid
regulator
remoteproc
reset
rpmsg
rtc rtc: ds1685: Update Joshua Kinard's email address. 2025-08-03 03:28:52 +02:00
sched sched: Move STDL_INIT() functions out-of-line 2025-09-03 10:03:13 +02:00
soc Pin control changes for v6.17 2025-08-02 12:07:09 -07:00
soundwire soundwire: amd: Add support for acp7.2 platform 2025-07-21 10:43:21 +05:30
spi * MTD changes: 2025-07-31 13:43:02 -07:00
ssb
sunrpc NFS client updates for Linux 6.17 2025-08-09 07:20:44 +03:00
surface_aggregator
ulpi
unaligned
usb [GIT PULL for v6.17] media updates 2025-07-31 13:16:09 -07:00
8250_pci.h
acct.h
acpi.h arm64 updates for 6.17: 2025-07-29 20:21:54 -07:00
acpi_amd_wbrf.h
acpi_dma.h
acpi_iort.h
acpi_mdio.h
acpi_pmtmr.h
acpi_viot.h
adb.h
adfs_fs.h
adi-axi-common.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
alloc_tag.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amd-pmf-io.h
anon_inodes.h
aperture.h
apm-emulation.h
apm_bios.h
apple-gmux.h
arch_topology.h
args.h
arm-cci.h
arm-smccc.h arm64: kvm, smccc: Fix vendor uuid 2025-07-21 18:18:51 +01:00
arm_ffa.h
arm_sdei.h
armada-37xx-rwtm-mailbox.h
array_size.h
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
atm.h
atm_tcp.h
atmdev.h atm: atmtcp: Prevent arbitrary write in atmtcp_recv_control(). 2025-08-22 17:23:15 -07:00
atmel-isc-media.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
backing-dev.h
backing-file.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-integrity.h
bio.h
bit_spinlock.h
bitfield.h bitfield: Ensure the return values of helper functions are checked 2025-07-31 11:28:03 -04:00
bitmap-str.h
bitmap.h
bitops.h
bitrev.h
bits.h bits: unify the non-asm GENMASK*() 2025-07-31 11:28:03 -04:00
blk-cgroup.h
blk-crypto-profile.h
blk-crypto.h
blk-integrity.h block: change blk_get_meta_cap() stub return -ENOIOCTLCMD 2025-07-28 16:14:18 -07:00
blk-mq-dma.h
blk-mq.h
blk-pm.h
blk_types.h
blkdev.h block: avoid cpu_hotplug_lock depedency on freeze_lock 2025-08-21 07:11:11 -06:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h x86: Handle KCOV __init vs inline mismatches 2025-07-24 16:55:11 -07:00
bootmem_info.h
bottom_half.h
bpf-cgroup-defs.h
bpf-cgroup.h bpf: Move cgroup iterator helpers to bpf.h 2025-07-31 11:30:05 -07:00
bpf-netns.h
bpf.h bpf: Fix oob access in cgroup local storage 2025-07-31 11:30:05 -07:00
bpf_crypto.h
bpf_lirc.h
bpf_local_storage.h
bpf_lsm.h
bpf_mem_alloc.h
bpf_mprog.h
bpf_trace.h
bpf_types.h
bpf_verifier.h
bpfptr.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf.h
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
call_once.h
capability.h
cb710.h
cc_platform.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h cdrom: Call cdrom_mrw_exit from cdrom_release function 2025-07-22 19:10:17 -06:00
cfag12864b.h
cfi.h cfi: Move BPF CFI types and helpers to generic code 2025-07-31 18:23:53 -07:00
cfi_types.h cfi: add C CFI type macro 2025-07-31 18:23:53 -07:00
cgroup-defs.h
cgroup.h
cgroup_api.h
cgroup_dmem.h
cgroup_rdma.h
cgroup_refcnt.h
cgroup_subsys.h
circ_buf.h
cleanup.h cxl for v6.17 2025-08-01 15:47:06 -07:00
clk-provider.h
clk.h
clkdev.h
clockchips.h
clocksource.h
clocksource_ids.h
closure.h
cma.h
cmpxchg-emu.h
cn_proc.h
cnt32_to_63.h
coda.h
codetag.h
compaction.h
compat.h
compiler-clang.h compiler_types: Provide __no_kstack_erase to disable coverage only on Clang 2025-07-29 17:19:35 -07:00
compiler-gcc.h Merge branch 'for-6.15-printf-attribute' into for-linus 2025-08-04 14:15:14 +02:00
compiler-version.h
compiler.h compiler: remove __ADDRESSABLE_ASM{_STR,}() again 2025-08-18 14:48:16 +02:00
compiler_attributes.h
compiler_types.h compiler_types: Provide __no_kstack_erase to disable coverage only on Clang 2025-07-29 17:19:35 -07:00
completion.h
component.h
configfs.h
connector.h
console.h
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 Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
cper.h
cpu.h Scheduler updates for v6.17: 2025-07-29 17:42:52 -07:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu_smt.h
cpufeature.h
cpufreq.h
cpuhotplug.h LoongArch: Add cpuhotplug hooks to fix high cpu usage of vCPU threads 2025-08-20 22:23:44 +08:00
cpuhplock.h
cpuidle.h
cpuidle_haltpoll.h
cpumask.h bitmap-for-6.17 2025-07-31 16:52:32 -07:00
cpumask_api.h
cpumask_types.h
cpuset.h
crash_core.h
crash_dump.h
crash_reserve.h kdump: implement reserve_crashkernel_cma 2025-07-19 19:08:23 -07:00
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
damon.h mm/damon/core: remove damon_callback 2025-07-19 18:59:57 -07:00
dasd_mod.h
davinci_emac.h
dax.h Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
dca.h
dcache.h
dccp.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
delayed_call.h
dev_printk.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h
device.h Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07: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-heap.h
dma-map-ops.h of: reserved_mem: Restructure call site for dma_contiguous_early_fixup() 2025-08-11 13:05:38 +02:00
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
edd.h
eeprom_93cx6.h
efi-bgrt.h
efi.h EFI updates for v6.17 2025-08-09 18:10:01 +03:00
efi_embedded_fw.h
efs_vh.h
eisa.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote-lto.h
elfnote.h
enclosure.h
energy_model.h
entry-common.h unwind_user/deferred: Add unwind cache 2025-07-31 10:20:04 -04:00
entry-kvm.h
err.h
errname.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h
ethtool.h
ethtool_netlink.h
eventfd.h
eventpoll.h
evm.h
execmem.h execmem: drop writable parameter from execmem_fill_trapping_insns() 2025-08-02 12:06:12 -07:00
export-internal.h
export.h module: Rename EXPORT_SYMBOL_GPL_FOR_MODULES to EXPORT_SYMBOL_FOR_MODULES 2025-08-11 16:16:36 +02:00
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h f2fs: Pass a folio to IS_INODE() 2025-07-22 15:57:02 +00:00
f75375s.h
falloc.h
fanotify.h
fault-inject-usercopy.h
fault-inject.h
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h
file_ref.h
fileattr.h
filelock.h
filter.h bpf-next-6.17 2025-07-30 09:58:50 -07:00
find.h cpumask: Remove unnecessary cpumask_nth_andnot() 2025-07-31 11:28:03 -04:00
fips.h
firewire.h firewire: core: use reference counting to invoke address handlers safely 2025-08-11 22:22:33 +09:00
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
folio_queue.h
font.h
fortify-string.h fortify: Fix incorrect reporting of read buffer size 2025-07-29 17:19:29 -07:00
fprobe.h
fpu.h
freezer.h
fs.h Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
fs_api.h
fs_context.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fscache-cache.h
fscache.h
fscrypt.h f2fs-for-6.17-rc1 2025-08-04 16:27:21 -07:00
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: optimize FMODE_NONOTIFY_PERM for the common cases 2025-07-28 18:14:38 +02:00
fsnotify_backend.h
fsverity.h
ftrace.h tracing: Remove redundant config HAVE_FTRACE_MCOUNT_RECORD 2025-07-22 20:15:56 -04:00
ftrace_irq.h
ftrace_regs.h
futex.h
fw_table.h
fwctl.h
fwnode.h
fwnode_mdio.h
gameport.h
gcd.h lib/math/gcd: use static key to select implementation at runtime 2025-07-19 19:08:28 -07:00
genalloc.h
generic-radix-tree.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
gfp_api.h
gfp_types.h
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h gpiolib: make legacy interfaces optional 2025-07-24 16:24:49 +02:00
gpio_keys.h
greybus.h
group_cpus.h
hardirq.h
hash.h
hashtable.h
hashtable_api.h
hdlc.h
hdlcdrv.h
hdmi.h
hex.h
hid-debug.h
hid-over-i2c.h
hid-over-spi.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 mm: remove unmap_and_put_page() 2025-07-19 18:59:51 -07:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hisi_acc_qm.h
hmm-dma.h
hmm.h
host1x.h
host1x_context_bus.h
hp_sdc.h
hpet.h
hrtimer.h
hrtimer_api.h
hrtimer_defs.h
hrtimer_types.h
hte.h
huge_mm.h mm/memory: introduce is_huge_zero_pfn() and use it in vm_normal_page_pmd() 2025-07-24 19:12:35 -07:00
hugetlb.h mm: drop hugetlb_free_pgd_range() 2025-07-24 19:12:32 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hung_task.h hung_task: extend hung task blocker tracking to rwsems 2025-07-19 19:08:26 -07:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-atr.h
i2c-dev.h
i2c-mux.h
i2c-of-prober.h
i2c-smbus.h
i2c.h
i8042.h
i8253.h
i8254.h
icmp.h
icmpv6.h
idle_inject.h
idr.h
ieee80211.h
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_hsr.h
if_link.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
imx-media.h
in.h
in6.h ipv6: Add sockaddr_inet unified address structure 2025-07-25 15:29:58 -07:00
indirect_call_wrapper.h
inet.h
inet_diag.h
inetdevice.h
init.h compiler_types: Provide __no_kstack_erase to disable coverage only on Clang 2025-07-29 17:19:35 -07:00
init_ohci1394_dma.h
init_syscalls.h
init_task.h
initrd.h
inotify.h
input.h
instruction_pointer.h
instrumentation.h
instrumented.h
int_log.h
integrity.h
intel-ish-client-if.h
intel_dg_nvm_aux.h
intel_pmt_features.h
intel_rapl.h
intel_tcc.h
intel_th.h
intel_tpmi.h
intel_vsec.h
interconnect-clk.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 mm: remove mm/io-mapping.c 2025-08-02 12:06:10 -07:00
io-pgtable.h
io.h
io_uring.h
io_uring_types.h for-6.17/io_uring-20250728 2025-07-28 16:30:12 -07:00
ioam6.h
ioam6_genl.h
ioam6_iptunnel.h
iocontext.h
iomap.h
iommu-dma.h
iommu-helper.h
iommu.h iommufd 6.17 merge window pull 2025-07-31 12:43:08 -07:00
iommufd.h iommufd: Rename some shortterm-related identifiers 2025-07-18 17:33:08 -03:00
iopoll.h
ioport.h
ioprio.h block: Fix default IO priority if there is no IO context 2025-07-31 15:00:41 -06:00
ioremap.h
iosys-map.h iosys-map: Fix undefined behavior in iosys_map_clear() 2025-08-11 17:26:38 +02:00
iov_iter.h iov_iter: iterate_folioq: fix handling of offset >= folio size 2025-08-19 16:35:56 -07:00
iova.h
iova_bitmap.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_smi.h
ipv6.h ipv6: add `force_forwarding` sysctl to enable per-interface forwarding 2025-07-25 13:06:19 -07:00
ipv6_route.h
irq-entry-common.h Deferred unwind changes for 6.17 2025-08-01 09:46:24 -07:00
irq.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h ARM: 2025-07-30 17:14:01 -07:00
irqdomain_defs.h
irqflags.h
irqflags_types.h
irqhandler.h
irqnr.h
irqreturn.h
isa-dma.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
ism.h s390/ism: fix concurrency management in ism_cmd() 2025-07-24 10:57:26 +02:00
iversion.h
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan-enabled.h
kasan-tags.h
kasan.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h kcov, usb: Don't disable interrupts in kcov_remote_start_usb_softirq() 2025-08-13 17:18:43 +02:00
kcsan-checks.h
kcsan.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h tracing: Remove redundant config HAVE_FTRACE_MCOUNT_RECORD 2025-07-22 20:15:56 -04:00
kernel_read_file.h
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h kexec: enable CMA based contiguous allocation 2025-08-02 12:01:38 -07:00
kexec_handover.h
key-type.h
key.h
keyboard.h
keyctl.h
kfence.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h module: Move modprobe_path and modules_disabled ctl_tables into the module subsys 2025-07-23 11:52:47 +02:00
kmsan-checks.h
kmsan.h
kmsan_string.h
kmsan_types.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_api.h
kobject_ns.h
kprobes.h
kref.h
kref_api.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kstack_erase.h stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth 2025-07-21 21:40:39 -07:00
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-expresswire.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-ti-lmu-common.h
leds.h
libata.h ata: libata-sata: Add link_power_management_supported sysfs attribute 2025-07-31 12:56:21 +09:00
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h
libps2.h
license.h
limits.h
linear_range.h
linkage.h
linkmode.h
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
lockdep.h
lockdep_api.h
lockdep_types.h
lockref.h
log2.h
logic_iomem.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_count.h
lsm_hook_defs.h
lsm_hooks.h
lwq.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
math.h
math64.h
mbcache.h
mbus.h
mc33xs2410.h pwm: mc33xs2410: add hwmon support 2025-07-24 09:20:39 +02:00
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_aux.h
mei_cl_bus.h
mem_encrypt.h
memblock.h memblock: fix kernel-doc for MEMBLOCK_RSRV_NOINIT 2025-08-26 10:47:03 +03:00
memcontrol.h memcg: convert memcg->socket_pressure to u64 2025-07-24 19:12:32 -07:00
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 mm/migrate: fix NULL movable_ops if CONFIG_ZSMALLOC=m 2025-08-19 16:35:57 -07:00
migrate_mode.h
mii.h
mii_timestamper.h
min_heap.h
minmax.h
misc_cgroup.h
miscdevice.h
mm.h Significant patch series in this pull request: 2025-08-05 16:02:07 +03:00
mm_api.h
mm_inline.h
mm_types.h Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
mm_types_task.h
mman.h
mmap_lock.h mm: fix a UAF when vma->mm is freed after vma->vm_refcnt got dropped 2025-08-02 12:06:11 -07:00
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h mm, vmstat: remove the NR_WRITEBACK_TEMP node_stat_item counter 2025-07-19 18:59:47 -07:00
mnt_idmapping.h
mnt_namespace.h
mod_devicetable.h
module.h Kbuild updates for v6.17 2025-08-06 07:32:52 +03:00
module_signature.h
module_symbol.h
moduleloader.h
moduleparam.h Kbuild updates for v6.17 2025-08-06 07:32:52 +03:00
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 ARM: 2025-07-30 17:14:01 -07:00
msi_api.h
mtio.h
mutex.h cxl for v6.17 2025-08-01 15:47:06 -07:00
mutex_api.h
mutex_types.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
namei.h
nd.h
ndctl.h
net.h
net_tstamp.h
netdev_features.h
netdevice.h net: update NAPI threaded config even for disabled NAPIs 2025-08-12 14:43:05 +02:00
netdevice_xmit.h
netfilter.h netfilter: nfnetlink_hook: Dump flowtable info 2025-07-25 18:40:01 +02:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_netdev.h
netfs.h netfs: Fix unbuffered write error handling 2025-08-15 15:56:49 +02:00
netlink.h
netpoll.h netpoll: Remove unused fields from inet_addr union 2025-07-25 13:59:41 -07:00
nfs.h
nfs3.h
nfs4.h
nfs_common.h
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h NFS: use a hash table for delegation lookup 2025-07-22 08:10:41 -04:00
nfs_iostat.h
nfs_page.h NFS: Fix a race when updating an existing write 2025-08-19 11:16:02 -07:00
nfs_ssc.h
nfs_xdr.h
nfsacl.h
nfslocalio.h
nitro_enclaves.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
nodemask_types.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
numa_memblks.h
nvme-auth.h
nvme-fc-driver.h
nvme-fc.h
nvme-keyring.h
nvme-rdma.h
nvme-tcp.h
nvme.h
nvmem-consumer.h
nvmem-provider.h
nvram.h
oa_tc6.h
objagg.h
objpool.h
objtool.h
objtool_types.h
of.h
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
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 mm/page-flags: remove folio_start_writeback_keepwrite() 2025-08-02 12:06:08 -07:00
page-isolation.h
page_counter.h
page_ext.h
page_frag_cache.h
page_idle.h
page_owner.h mm/page_owner: convert set_page_owner_migrate_reason() to folios 2025-07-19 18:59:57 -07:00
page_ref.h
page_reporting.h
page_table_check.h
pageblock-flags.h
pagemap.h Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
pagevec.h
pagewalk.h
panic.h Runtime verification changes for 6.17 2025-07-30 16:23:12 -07:00
panic_notifier.h
papr_scm.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-bwctrl.h
pci-doe.h
pci-ecam.h
pci-ep-cfs.h
pci-ep-msi.h PCI: endpoint: Add RC-to-EP doorbell support using platform MSI controller 2025-07-24 16:51:17 -05:00
pci-epc.h
pci-epf.h PCI: endpoint: Add pci_epf_align_inbound_addr() helper for inbound address alignment 2025-07-24 16:51:41 -05:00
pci-p2pdma.h
pci-pwrctrl.h
pci-tph.h PCI/TPH: Expose pcie_tph_get_st_table_size() 2025-07-23 01:27:32 -04:00
pci.h Merge branch 'pci/resources' 2025-07-31 16:11:43 -05:00
pci_hotplug.h PCI: Move is_pciehp check out of pciehp_is_native() 2025-07-29 11:45:39 -05:00
pci_ids.h
pcie-dwc.h
pcs-lynx.h
pcs-rzn1-miic.h
pe.h
peci-cpu.h
peci.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
perf_event.h
perf_event_api.h
perf_regs.h
personality.h
pfn.h
pgalloc_tag.h
pgtable.h mm: add get_and_clear_ptes() and clear_ptes() 2025-08-02 12:06:10 -07:00
pgtable_api.h
phonet.h
phy.h
phy_fixed.h
phy_led_triggers.h
phy_link_topology.h
phylib_stubs.h
phylink.h
pid.h
pid_namespace.h
pid_types.h
pidfs.h
pim.h
pipe_fs_i.h
pkeys.h
pl320-ipc.h
platform_device.h
platform_profile.h
pldmfw.h
plist.h
plist_types.h
pm-trace.h
pm.h Merge branches 'pm-misc' and 'pm-tools' 2025-07-22 18:07:11 +02:00
pm_clock.h
pm_domain.h pmdomain core: 2025-07-29 11:42:31 -07:00
pm_opp.h
pm_qos.h
pm_runtime.h Merge branches 'pm-runtime' and 'pm-powercap' 2025-07-22 18:01:15 +02:00
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnp.h
poison.h
poll.h
polynomial.h
posix-clock.h
posix-timers.h
posix-timers_types.h
posix_acl.h
posix_acl_xattr.h
power_supply.h power supply and reset changes for the 6.17 series 2025-07-31 21:39:01 -07:00
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps_gen_kernel.h
pps_kernel.h
pr.h
prandom.h
preempt.h sched: Make migrate_{en,dis}able() inline 2025-09-25 09:57:16 +02:00
prefetch.h
prime_numbers.h
printk.h
prmt.h
proc_fs.h Summary of significant series in this pull request: 2025-07-31 14:57:54 -07: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_mock.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
randomize_kstack.h
range.h
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_notifier.h
rcu_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h rcu: Replace preempt.h with sched.h in include/linux/rcupdate.h 2025-09-25 09:57:15 +02:00
rcupdate_trace.h
rcupdate_wait.h
rcuref.h
rcutiny.h
rcutree.h
rcuwait.h
rcuwait_api.h
reboot-mode.h
reboot.h
reciprocal_div.h
ref_tracker.h
refcount.h
refcount_api.h
refcount_types.h
regmap.h regmap: Annotate that MMIO implies fast IO 2025-07-25 13:44:33 +01:00
regset.h
relay.h
remoteproc.h
resctrl.h
resctrl_types.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
resume_user_mode.h
rethook.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h tracing cleanups for v6.17: 2025-08-03 15:03:04 -07:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h mm/rmap: add anon_vma lifetime debug check 2025-08-02 12:06:11 -07:00
rmi.h
rndis.h
rodata_test.h
rolling_buffer.h
root_dev.h
rpmb.h
rpmsg.h
rseq.h
rslib.h
rtc.h
rtmutex.h locking/rtmutex: Move max_lock_depth into rtmutex.c 2025-07-23 11:52:47 +02:00
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rv.h rv: Retry when da monitor detects race conditions 2025-07-28 16:47:34 -04:00
rw_hint.h
rwbase_rt.h
rwlock.h
rwlock_api_smp.h
rwlock_rt.h
rwlock_types.h
rwsem.h Significant patch series in this pull request: 2025-08-03 16:23:09 -07:00
sbitmap.h lib/sbitmap: make sbitmap_get_shallow() internal 2025-08-07 06:30:17 -06:00
scatterlist.h
scc.h
sched.h sched: Make migrate_{en,dis}able() inline 2025-09-25 09:57:16 +02:00
sched_clock.h
scmi_imx_protocol.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200.h
scx200_gpio.h
seccomp.h
seccomp_types.h
secretmem.h
securebits.h
security.h lsm/stable-6.17 PR 20250725 2025-07-28 18:20:32 -07:00
sed-opal-key.h
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
sem.h
sem_types.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
seqlock_api.h
seqlock_types.h
serdev.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.h
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: Introduce skb_copy_datagram_from_iter_full() 2025-08-21 17:47:57 -07:00
skbuff_ref.h
skmsg.h
slab.h
slimbus.h
sm501-regs.h
sm501.h
smc91x.h
smp.h A set of updates for SMP function calls: 2025-07-29 13:00:20 -07:00
smp_types.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sockptr.h
softirq.h
sonet.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
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
sprintf.h printk changes for 6.17 2025-08-04 10:54:36 -07:00
sram.h
srcu.h srcu: Add guards for SRCU-fast readers 2025-07-19 10:17:56 +05:30
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_call.h
static_call_types.h
static_key.h
stdarg.h
stddef.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
string_choices.h
string_helpers.h
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
surface_acpi_notify.h
suspend.h drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
svga.h
sw842.h
swab.h
swait.h
swait_api.h
swap.h mm: optimize lru_note_cost() by adding lru_note_cost_unlock_irq() 2025-07-24 19:12:28 -07:00
swap_cgroup.h
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_info.h panic: add 'panic_sys_info' sysctl to take human readable string parameter 2025-07-19 19:08:24 -07:00
sys_soc.h
syscall_user_dispatch.h
syscall_user_dispatch_types.h
syscalls.h
syscalls_api.h
syscore_ops.h
sysctl.h sysctl: Removed unused variable 2025-07-23 11:56:02 +02:00
sysfb.h
sysfs.h
syslog.h
sysrq.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 tcp: add tcp_sock_set_maxseg 2025-07-21 17:48:32 -07:00
tee_core.h
tee_drv.h
tegra-icc.h
termios_internal.h
text-patching.h
textsearch.h
textsearch_fsm.h
thermal.h
thread_info.h
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h
time64.h
time_namespace.h
timecounter.h
timekeeper_internal.h
timekeeping.h
timer.h
timer_types.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timerqueue_types.h
timex.h
tnum.h
topology.h sched/fair: Get rid of sched_domains_curr_level hack for tl->cpumask() 2025-09-03 10:03:12 +02:00
torture.h
toshiba.h
tpm.h Hi, 2025-07-28 18:18:16 -07:00
tpm_command.h
tpm_eventlog.h
tpm_svsm.h
trace.h
trace_clock.h
trace_events.h tracing: Remove EVENT_FILE_FL_SOFT_MODE flag 2025-07-22 20:15:51 -04:00
trace_recursion.h
trace_seq.h
tracefs.h
tracepoint-defs.h
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tsm-mr.h
tsm.h
tty.h
tty_buffer.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty_port.h
turris-omnia-mcu-interface.h
turris-signing-key.h
typecheck.h
types.h
u64_stats_sync.h
u64_stats_sync_api.h
uacce.h
uaccess.h
ubsan.h
ucopysize.h
ucs2_string.h
udp.h
uidgid.h
uidgid_types.h
uio.h
uio_driver.h
umh.h
unaligned.h
unicode.h
union_find.h
units.h
unroll.h
unwind_deferred.h unwind: Finish up unwind when a task exits 2025-07-31 10:20:11 -04:00
unwind_deferred_types.h unwind deferred: Add unwind_completed mask to stop spurious callbacks 2025-07-31 10:20:10 -04:00
unwind_user.h unwind_user: Add user space unwinding API with frame pointer support 2025-07-29 14:46:07 -04:00
unwind_user_types.h unwind_user: Add user space unwinding API with frame pointer support 2025-07-29 14:46:07 -04:00
uprobes.h
usb.h usb: core: add urb->sgt parameter description 2025-07-21 17:40:02 +02:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_events.h
user_namespace.h
userfaultfd_k.h mm/mremap: use an explicit uffd failure path for mremap 2025-07-24 19:12:29 -07:00
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
vdpa.h
vdso_datastore.h
verification.h
vermagic.h
vexpress.h
vfio.h vfio/pci: Do vf_token checks for VFIO_DEVICE_BIND_IOMMUFD 2025-08-05 15:41:14 -06:00
vfio_pci_core.h vfio/pci: Do vf_token checks for VFIO_DEVICE_BIND_IOMMUFD 2025-08-05 15:41:14 -06:00
vfs.h
vfsdebug.h
vga_switcheroo.h
vgaarb.h
vhost_iotlb.h
via-core.h
via.h
via_i2c.h
videodev2.h
virtio.h virtio, vhost: features, fixes 2025-08-01 14:17:48 -07:00
virtio_anchor.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h Revert "virtio: reject shm region if length is zero" 2025-08-26 03:38:10 -04:00
virtio_dma_buf.h
virtio_features.h
virtio_net.h
virtio_pci_admin.h
virtio_pci_legacy.h
virtio_pci_modern.h
virtio_ring.h
virtio_vsock.h vsock/virtio: Rename virtio_vsock_skb_rx_put() 2025-08-01 09:11:09 -04:00
vm_event_item.h
vmalloc.h
vmcore_info.h
vmpressure.h
vmstat.h mm/vmstat: make MEMCG select VM_EVENT_COUNTERS 2025-07-19 18:59:46 -07:00
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h vhost: vringh: Remove unused functions 2025-08-01 09:11:08 -04:00
vt.h
vt_buffer.h
vt_kern.h
vtime.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
wm97xx.h
wmi.h
wordpart.h
workqueue.h
workqueue_api.h
workqueue_types.h
writeback.h
ww_mutex.h
wwan.h
xarray.h
xattr.h
xxhash.h lib/xxhash: remove unused functions 2025-08-02 12:01:37 -07:00
xz.h
yam.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zstd_errors.h
zstd_lib.h
zswap.h
zutil.h