twx-linux/include/linux
SeongJae Park fda504fade mm/damon/core: account age of target regions
Patch series "Implement Data Access Monitoring-based Memory Operation Schemes".

Introduction
============

DAMON[1] can be used as a primitive for data access aware memory
management optimizations.  For that, users who want such optimizations
should run DAMON, read the monitoring results, analyze it, plan a new
memory management scheme, and apply the new scheme by themselves.  Such
efforts will be inevitable for some complicated optimizations.

However, in many other cases, the users would simply want the system to
apply a memory management action to a memory region of a specific size
having a specific access frequency for a specific time.  For example,
"page out a memory region larger than 100 MiB keeping only rare accesses
more than 2 minutes", or "Do not use THP for a memory region larger than
2 MiB rarely accessed for more than 1 seconds".

To make the works easier and non-redundant, this patchset implements a
new feature of DAMON, which is called Data Access Monitoring-based
Operation Schemes (DAMOS).  Using the feature, users can describe the
normal schemes in a simple way and ask DAMON to execute those on its
own.

[1] https://damonitor.github.io

Evaluations
===========

DAMOS is accurate and useful for memory management optimizations.  An
experimental DAMON-based operation scheme for THP, 'ethp', removes
76.15% of THP memory overheads while preserving 51.25% of THP speedup.
Another experimental DAMON-based 'proactive reclamation' implementation,
'prcl', reduces 93.38% of residential sets and 23.63% of system memory
footprint while incurring only 1.22% runtime overhead in the best case
(parsec3/freqmine).

NOTE that the experimental THP optimization and proactive reclamation
are not for production but only for proof of concepts.

Please refer to the showcase web site's evaluation document[1] for
detailed evaluation setup and results.

[1] https://damonitor.github.io/doc/html/v34/vm/damon/eval.html

Long-term Support Trees
-----------------------

For people who want to test DAMON but using LTS kernels, there are
another couple of trees based on two latest LTS kernels respectively and
containing the 'damon/master' backports.

- For v5.4.y: https://git.kernel.org/sj/h/damon/for-v5.4.y
- For v5.10.y: https://git.kernel.org/sj/h/damon/for-v5.10.y

Sequence Of Patches
===================

The 1st patch accounts age of each region.  The 2nd patch implements the
core of the DAMON-based operation schemes feature.  The 3rd patch makes
the default monitoring primitives for virtual address spaces to support
the schemes.  From this point, the kernel space users can use DAMOS.
The 4th patch exports the feature to the user space via the debugfs
interface.  The 5th patch implements schemes statistics feature for
easier tuning of the schemes and runtime access pattern analysis, and
the 6th patch adds selftests for these changes.  Finally, the 7th patch
documents this new feature.

This patch (of 7):

DAMON can be used for data access pattern aware memory management
optimizations.  For that, users should run DAMON, read the monitoring
results, analyze it, plan a new memory management scheme, and apply the
new scheme by themselves.  It would not be too hard, but still require
some level of effort.  For complicated cases, this effort is inevitable.

That said, in many cases, users would simply want to apply an actions to
a memory region of a specific size having a specific access frequency
for a specific time.  For example, "page out a memory region larger than
100 MiB but having a low access frequency more than 10 minutes", or "Use
THP for a memory region larger than 2 MiB having a high access frequency
for more than 2 seconds".

For such optimizations, users will need to first account the age of each
region themselves.  To reduce such efforts, this implements a simple age
account of each region in DAMON.  For each aggregation step, DAMON
compares the access frequency with that from last aggregation and reset
the age of the region if the change is significant.  Else, the age is
incremented.  Also, in case of the merge of regions, the region
size-weighted average of the ages is set as the age of merged new
region.

Link: https://lkml.kernel.org/r/20211001125604.29660-1-sj@kernel.org
Link: https://lkml.kernel.org/r/20211001125604.29660-2-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Amit Shah <amit@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Woodhouse <dwmw@amazon.com>
Cc: Marco Elver <elver@google.com>
Cc: Leonard Foerster <foersleo@amazon.de>
Cc: Greg Thelen <gthelen@google.com>
Cc: Markus Boehme <markubo@amazon.de>
Cc: David Rienjes <rientjes@google.com>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-11-06 13:30:44 -07:00
..
amba
atomic
avf
bcma
byteorder
can can: dev: provide optional GPIO based termination support 2021-08-19 15:07:03 +02:00
ceph ceph: flush mdlog before umounting 2021-09-02 22:49:16 +02:00
clk
crush
decompress
device
dma
dsa net: dsa: tag_ocelot_8021q: break circular dependency with ocelot switch lib 2021-10-12 17:35:18 -07:00
extcon
firmware
fpga
fsl
gpio
greybus
hsi
i3c
iio
input
irqchip
isdn
lockd Keep read and write fds with each nlm_file 2021-08-23 18:05:31 -04:00
mailbox
mdio
mfd - Core Frameworks 2021-09-07 12:38:59 -07:00
mlx4
mlx5 net/mlx5: Lag, change multipath and bonding to be mutually exclusive 2021-10-20 10:42:49 -07:00
mmc Core: 2021-08-31 16:43:06 -07:00
mtd
mux
net/intel
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf 2021-09-03 16:20:37 -07:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
pcs
perf KVM: arm64: Fix PMU probe ordering 2021-09-20 12:43:34 +01:00
phy
pinctrl
platform_data ARM: omap1: move omap15xx local bus handling to usb.c 2021-10-05 15:39:50 +02:00
power ARM: SoC drivers for 5.15 2021-09-01 15:25:28 -07:00
qed
raid
regulator regulator: Documentation fix for regulator error notification helper 2021-08-23 11:06:28 +01:00
remoteproc
reset
rpmsg
rtc
sched Merge branch 'akpm' (patches from Andrew) 2021-09-08 12:55:35 -07:00
soc Networking stragglers and fixes for 5.15-rc1, including changes from netfilter, 2021-09-07 14:02:58 -07:00
soundwire sound updates for 5.15-rc1 2021-09-01 10:29:29 -07:00
spi spi: Fix deadlock when adding SPI controllers on SPI buses 2021-10-14 12:47:29 +01:00
ssb ssb: fix boolreturn.cocci warning 2021-08-29 14:47:42 +03:00
sunrpc NFS Client Updates for Linux 5.15 2021-09-04 10:25:26 -07:00
surface_aggregator
ulpi
unaligned
usb usb: core: hcd: Add support for deferring roothub registration 2021-09-14 10:41:30 +02:00
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_iort.h
acpi_mdio.h
acpi_pmtmr.h
acpi_viot.h
acpi.h Merge branches 'acpi-numa', 'acpi-glue', 'acpi-config' and 'acpi-pmic' 2021-08-30 19:30:37 +02:00
adb.h
adfs_fs.h
adreno-smmu-priv.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
ahci-remap.h
aio.h
alarmtimer.h
alcor_pci.h
align.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
anon_inodes.h
apm_bios.h
apm-emulation.h
apple_bl.h
apple-gmux.h
arch_topology.h
arm_ffa.h
arm_sdei.h
arm-cci.h
arm-smccc.h qcom_scm: hide Kconfig symbol 2021-10-07 16:51:57 +02:00
armada-37xx-rwtm-mailbox.h
ascii85.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1_encoder.h
asn1.h
assoc_array_priv.h
assoc_array.h
async_tx.h
async.h
ata_platform.h
ata.h
atalk.h
ath9k_platform.h
atm_tcp.h
atm.h
atmdev.h
atmel_pdc.h
atmel-isc-media.h
atmel-mci.h
atmel-ssc.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxiliary_bus.h
auxvec.h
average.h
backing-dev-defs.h mm: simplify bdi refcounting 2021-11-06 13:30:34 -07:00
backing-dev.h mm/vmscan: throttle reclaim until some writeback completes if congested 2021-11-06 13:30:40 -07:00
backlight.h
badblocks.h
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio.h for-5.15-tag 2021-08-31 09:41:22 -07:00
bit_spinlock.h
bitfield.h
bitmap.h
bitops.h
bitrev.h
bits.h
blk_types.h for-5.15-tag 2021-08-31 09:41:22 -07:00
blk-cgroup.h
blk-crypto.h
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h block: cleanup the lockdep handling in *alloc_disk 2021-08-23 12:54:30 -06:00
blk-pm.h
blkdev.h SCSI misc on 20210902 2021-09-02 15:09:46 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h bootconfig: Rename xbc_node_find_child() to xbc_node_find_subkey() 2021-09-09 19:14:33 -04:00
bootmem_info.h
bottom_half.h
bpf_lirc.h
bpf_local_storage.h
bpf_lsm.h
bpf_trace.h
bpf_types.h bpf: Move BPF_MAP_TYPE for INODE_STORAGE and TASK_STORAGE outside of CONFIG_NET 2021-10-26 12:35:16 -07:00
bpf_verifier.h
bpf-cgroup.h bpf: Migrate cgroup_bpf to internal cgroup_bpf_attach_type enum 2021-08-23 17:50:24 -07:00
bpf-netns.h
bpf.h bpf: Fix potential race in tail call compatibility check 2021-10-26 12:37:28 -07:00
bpfilter.h
bpfptr.h bpf: Use kvmalloc for map keys in syscalls 2021-08-20 00:09:49 +02:00
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf_ids.h bpf: Fix bpf-next builds without CONFIG_BPF_EVENTS 2021-08-25 19:41:39 -07:00
btf.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h mm: fs: invalidate bh_lrus for only cold path 2021-09-24 16:13:35 -07:00
bug.h
build_bug.h
build-salt.h
buildid.h
bvec.h
c2port.h
cache.h
cacheinfo.h drivers: base: cacheinfo: Get rid of DEFINE_SMP_CALL_CACHE_FUNCTION() 2021-09-01 10:29:10 +02:00
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cfi.h
cgroup_rdma.h
cgroup_subsys.h
cgroup-defs.h bpf, cgroups: Fix cgroup v2 fallback on v1/v2 mixed mode 2021-09-13 16:35:58 -07:00
cgroup.h bpf, cgroups: Fix cgroup v2 fallback on v1/v2 mixed mode 2021-09-13 16:35:58 -07:00
circ_buf.h
cleancache.h
clk-provider.h Merge branch 'clk-frac-divider' into clk-next 2021-09-01 15:26:45 -07:00
clk.h
clkdev.h
clockchips.h
clocksource_ids.h
clocksource.h
cm4000_cs.h
cma.h mm/cma: add cma_pages_valid to determine if pages are in CMA 2021-11-06 13:30:39 -07:00
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h mm: compaction: support triggering of proactive compaction by user 2021-09-03 09:58:17 -07:00
compat.h arch: remove compat_alloc_user_space 2021-09-08 15:32:35 -07:00
compiler_attributes.h Compiler Attributes: add __alloc_size() for better bounds checking 2021-11-06 13:30:33 -07:00
compiler_types.h Compiler Attributes: add __alloc_size() for better bounds checking 2021-11-06 13:30:33 -07:00
compiler-clang.h compiler.h: drop fallback overflow checkers 2021-09-13 10:18:28 -07:00
compiler-gcc.h Compiler Attributes: add __alloc_size() for better bounds checking 2021-11-06 13:30:33 -07:00
compiler-intel.h
compiler-version.h
compiler.h compiler.h: Introduce absolute_pointer macro 2021-09-15 12:04:28 -07:00
completion.h
component.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
const.h
container.h
context_tracking_state.h
context_tracking.h
cookie.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h coresight: syscfg: Add API to activate and enable configurations 2021-08-18 22:33:28 +02:00
count_zeros.h
counter_enum.h
counter.h
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h cpu/hotplug: Remove deprecated CPU-hotplug functions. 2021-09-11 00:41:21 +02:00
cpufeature.h
cpufreq.h Merge branch 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm 2021-09-07 15:42:10 +02:00
cpuhotplug.h mm/migrate: fix CPUHP state to update node demotion order 2021-10-18 20:22:03 -10:00
cpuidle_haltpoll.h
cpuidle.h
cpumask.h cpumask: Omit terminating null byte in cpumap_print_{list,bitmask}_to_buf 2021-09-21 17:34:53 +02:00
cpuset.h mm/page_alloc: detect allocation forbidden by cpuset and bail out early 2021-11-06 13:30:38 -07:00
crash_core.h
crash_dump.h crash_dump: Make elfcorehdr address/size symbols always visible 2021-08-24 17:09:01 -05:00
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h
crypto.h
cs5535.h
ctype.h
cuda.h
damon.h mm/damon/core: account age of target regions 2021-11-06 13:30:44 -07:00
dasd_mod.h
davinci_emac.h
dax.h dax: remove bdev_dax_supported 2021-08-26 16:52:03 -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_cooling.h
devfreq-event.h
devfreq.h
device_cgroup.h
device-mapper.h - Add DM infrastructure for IMA-based remote attestion. These changes 2021-08-31 14:55:09 -07:00
device.h Merge branch 'stable/for-linus-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb 2021-09-03 10:34:44 -07:00
devm-helpers.h
devpts_fs.h
dfl.h
digsig.h
dim.h
dio.h
dirent.h
dlm_plock.h
dlm.h
dm9000.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dma-buf-map.h
dma-buf.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence.h
dma-heap.h
dma-iommu.h
dma-map-ops.h dma-mapping: make the global coherent pool conditional 2021-08-19 09:02:39 +02:00
dma-mapping.h
dma-resv.h
dmaengine.h dmaengine: Extend the dma_slave_width for 128 bytes 2021-08-29 19:14:19 +05:30
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd_genl_api.h
drbd_genl.h
drbd_limits.h
drbd.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
eeprom_93xx46.h
efi_embedded_fw.h
efi-bgrt.h
efi.h
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h elfcore: correct reference to CONFIG_UML 2021-10-18 20:22:03 -10:00
elfnote-lto.h
elfnote.h
enclosure.h
energy_model.h PM: EM: fix kernel-doc comments 2021-09-07 21:17:28 +02:00
entry-common.h
entry-kvm.h entry: KVM: Allow use of generic KVM entry w/o full generic support 2021-08-19 11:19:41 +01:00
err.h
errname.h
errno.h nfs: don't allow reexport reclaims 2021-08-26 15:32:28 -04:00
error-injection.h
errqueue.h
errseq.h
etherdevice.h etherdevice: use __dev_addr_set() 2021-10-05 12:38:39 +01:00
ethtool_netlink.h
ethtool.h ethtool: extend coalesce setting uAPI with CQE mode 2021-08-24 07:38:29 -07:00
eventfd.h eventfd: Make signal recursion protection a task bit 2021-08-28 01:33:02 +02:00
eventpoll.h ARM: 9108/1: oabi-compat: rework epoll_wait/epoll_pwait emulation 2021-08-20 11:39:26 +01:00
evm.h
export.h
exportfs.h nfs: don't atempt blocking locks on nfs reexports 2021-08-26 15:32:10 -04:00
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
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h file: Export receive_fd() to modules 2021-09-06 07:20:56 -04:00
fileattr.h
filter.h bpf: Prevent increasing bpf_jit_limit above max 2021-10-22 17:23:53 -07:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h
fortify-string.h
freelist.h
freezer.h
frontswap.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
fs.h fs: explicitly unregister per-superblock BDIs 2021-11-06 13:30:34 -07:00
fscache-cache.h fscache: Remove the object list procfile 2021-08-27 13:34:02 +01:00
fscache.h fscache: Use refcount_t for the cookie refcount instead of atomic_t 2021-08-27 13:34:03 +01:00
fscrypt.h
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsl-diu-fb.h
fsldma.h
fsnotify_backend.h
fsnotify.h
fsverity.h
ftrace_irq.h
ftrace.h
futex.h
fwnode_mdio.h
fwnode.h driver core: fw_devlink: Add support for FWNODE_FLAG_NEEDS_CHILD_BOUND_ON_ADD 2021-09-23 19:26:54 +02:00
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genhd.h block: drain file system I/O on del_gendisk 2021-10-15 21:02:50 -06:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm/vmalloc: introduce alloc_pages_bulk_array_mempolicy to accelerate memory allocation 2021-11-06 13:30:37 -07:00
glob.h
gnss.h
goldfish.h
gpio_keys.h
gpio-pxa.h
gpio.h
greybus.h
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h
hidden.h
hiddev.h
hidraw.h
highmem-internal.h highmem: don't disable preemption on RT in kmap_atomic() 2021-09-08 11:50:24 -07:00
highmem.h mm/highmem: remove deprecated kmap_atomic 2021-11-06 13:30:43 -07:00
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hmm.h
host1x.h
hp_sdc.h
hpet.h
hrtimer_defs.h
hrtimer.h
htcpld.h
huge_mm.h
hugetlb_cgroup.h hugetlb: fix hugetlb cgroup refcounting during vma split 2021-09-03 09:58:16 -07:00
hugetlb_inline.h
hugetlb.h hugetlbfs: extend the definition of hugepages parameter to support node allocation 2021-11-06 13:30:41 -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-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 ieee80211: add definition for transmit power envelope element 2021-08-26 10:18:56 +02: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
imx-media.h
in6.h
in.h
indirect_call_wrapper.h
inet_diag.h
inet.h
inetdevice.h
init_ohci1394_dma.h
init_syscalls.h
init_task.h
init.h
initrd.h
inotify.h
input.h
instrumentation.h
instrumented.h
integrity.h
intel_rapl.h
intel_th.h
intel-iommu.h iommu/vt-d: Update the virtual command related registers 2021-08-19 10:41:08 +02:00
intel-ish-client-if.h
intel-svm.h iommu/vt-d: Allow devices to have more than 32 outstanding PRs 2021-08-19 10:41:08 +02:00
interconnect-provider.h
interconnect.h
interrupt.h
interval_tree_generic.h
interval_tree.h
io_uring.h io_uring: remove files pointer in cancellation functions 2021-08-23 13:10:37 -06:00
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h include/linux/io-mapping.h: remove fallback for writecombine 2021-11-06 13:30:36 -07:00
io-pgtable.h Merge branches 'apple/dart', 'arm/smmu', 'iommu/fixes', 'x86/amd', 'x86/vt-d' and 'core' into next 2021-08-20 17:14:35 +02:00
io.h
ioam6_genl.h
ioam6_iptunnel.h
ioam6.h
ioasid.h
iocontext.h
iomap.h
iommu-helper.h
iommu.h IOMMU Updates for Linux v5.15 2021-09-03 10:44:35 -07:00
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc_namespace.h
ipc.h
ipmi_smi.h
ipmi.h
ipv6_route.h
ipv6.h
irq_poll.h
irq_sim.h
irq_work.h
irq.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h irqdomain: Change the type of 'size' in __irq_domain_add() to be consistent 2021-09-22 14:29:32 +01:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
iversion.h
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label_ratelimit.h
jump_label.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan-tags.h
kasan.h kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC 2021-11-06 13:30:37 -07: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_read_file.h
kernel_stat.h
kernel-page-flags.h
kernel.h mm: create a new system state and fix core_kernel_text() 2021-11-06 13:30:38 -07:00
kernelcapi.h
kernfs.h
kexec.h
key-type.h
key.h
keyboard.h
keyctl.h
keyslot-manager.h
kfence.h kfence: always use static branches to guard kfence_alloc() 2021-11-06 13:30:43 -07:00
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kstrtox.h
kthread.h
ktime.h
kvm_dirty_ring.h
kvm_host.h KVM: Remove tlbs_dirty 2021-09-23 11:01:12 -04:00
kvm_irqfd.h
kvm_para.h
kvm_types.h KVM: stats: Add VM stat for remote tlb flush requests 2021-09-06 06:30:45 -04:00
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 libata: Add ATA_HORKAGE_NO_NCQ_ON_ATI for Samsung 860 and 870 SSD. 2021-09-03 08:06:02 -06:00
libfdt_env.h
libfdt.h
libgcc.h
libnvdimm.h
libps2.h
license.h
limits.h
linear_range.h
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
list.h
litex.h
livepatch.h
llc.h
llist.h
local_lock_internal.h
local_lock.h
lockdep_types.h
lockdep.h
lockref.h
log2.h
logic_iomem.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hook_defs.h
lsm_hooks.h
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
math64.h
math.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h net: mdio: introduce a shutdown method to mdio device drivers 2021-09-19 12:08:37 +01:00
mei_cl_bus.h
mem_encrypt.h
memblock.h memblock: add MEMBLOCK_DRIVER_MANAGED to mimic IORESOURCE_SYSRAM_DRIVER_MANAGED 2021-11-06 13:30:42 -07:00
memcontrol.h mm/vmpressure: fix data-race with memcg->socket_pressure 2021-11-06 13:30:40 -07:00
memfd.h
memory_hotplug.h mm/memory_hotplug: remove stale function declarations 2021-11-06 13:30:42 -07:00
memory.h mm/memory_hotplug: remove HIGHMEM leftovers 2021-11-06 13:30:42 -07:00
mempolicy.h mm: migrate: make demotion knob depend on migration 2021-11-06 13:30:41 -07:00
mempool.h
memregion.h
memremap.h
memstick.h
mhi.h Char / Misc driver changes for 5.15-rc1 2021-09-01 08:35:06 -07:00
micrel_phy.h
microchipphy.h
migrate_mode.h mm/migrate: de-duplicate migrate_reason strings 2021-11-06 13:30:41 -07:00
migrate.h mm: migrate: make demotion knob depend on migration 2021-11-06 13:30:41 -07:00
mii_timestamper.h
mii.h net: mii: make mii_ethtool_gset() return void 2021-08-19 13:06:53 +01:00
min_heap.h
minmax.h
misc_cgroup.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h isystem: trim/fixup stdarg.h and other headers 2021-08-19 09:02:55 +09:00
mm_inline.h
mm_types_task.h
mm_types.h mm, slub: change percpu partial accounting from objects to pages 2021-11-06 13:30:32 -07:00
mm.h include/linux/mm.h: move nr_free_buffer_pages from swap.h to mm.h 2021-11-06 13:30:43 -07:00
mman.h mm: ignore MAP_DENYWRITE in ksys_mmap_pgoff() 2021-09-03 18:42:01 +02:00
mmap_lock.h Networking fixes for 5.15-rc2, including fixes from bpf. 2021-09-16 13:05:42 -07:00
mmdebug.h
mmiotrace.h
mmu_context.h sched: Introduce task_cpu_possible_mask() to limit fallback rq selection 2021-08-20 12:32:58 +02:00
mmu_notifier.h
mmzone.h mm/vmscan: throttle reclaim when no progress is being made 2021-11-06 13:30:40 -07:00
mnt_namespace.h
mod_devicetable.h PCI / VFIO: Add 'override_only' support for VFIO PCI sub system 2021-08-26 10:36:51 -06:00
module_signature.h
module.h
moduleloader.h
moduleparam.h
most.h
mount.h
moxtet.h
mpage.h
mpi.h
mpls_iptunnel.h
mpls.h
mroute6.h
mroute_base.h
mroute.h
msdos_fs.h
msdos_partition.h
msg.h
msi.h genirq/msi: Move MSI sysfs handling from PCI to MSI core 2021-08-24 09:16:20 +02:00
mtio.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
namei.h namei: add mapping aware lookup helper 2021-08-23 13:19:12 +02:00
nd.h
ndctl.h
net.h
netdev_features.h
netdevice.h net: create netdev->dev_addr assignment helpers 2021-09-05 20:58:50 +01:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netfs.h netfs: Move cookie debug ID to struct netfs_cache_resources 2021-08-25 15:20:25 +01:00
netlink.h
netpoll.h
nfs3.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h NFSv4 introduce max_connect mount options 2021-08-27 16:37:17 -04:00
nfs_fs.h NFSv4 introduce max_connect mount options 2021-08-27 16:37:17 -04:00
nfs_iostat.h
nfs_page.h
nfs_ssc.h
nfs_xdr.h
nfs.h
nfsacl.h
nitro_enclaves.h
nl802154.h
nls.h
nmi.h
node.h mm/memory_hotplug: remove CONFIG_MEMORY_HOTPLUG_SPARSE 2021-11-06 13:30:42 -07:00
nodemask.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h
ntb.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme-tcp.h
nvme.h
nvmem-consumer.h nvmem: core: Add stubs for nvmem_cell_read_variable_le_u32/64 if !CONFIG_NVMEM 2021-09-14 09:02:50 +02:00
nvmem-provider.h
nvram.h
objagg.h
objtool.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
of.h gpio updates for v5.15 2021-09-07 12:27:27 -07:00
oid_registry.h oid_registry: Add OIDs for missing Spnego auth mechanisms to Macs 2021-08-25 15:43:26 -05:00
olpc-ec.h
omap-dma.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once_lite.h
once.h include/linux/once.h: fix trivia typo Not -> Note 2021-09-08 11:50:25 -07:00
oom.h
openvswitch.h
osq_lock.h
overflow.h compiler.h: drop fallback overflow checkers 2021-09-13 10:18:28 -07:00
packing.h net: update NXP copyright text 2021-09-17 13:52:17 +01:00
padata.h
page_counter.h
page_ext.h mm/idle_page_tracking: make PG_idle reusable 2021-09-08 11:50:24 -07:00
page_idle.h mm/idle_page_tracking: make PG_idle reusable 2021-09-08 11:50:24 -07:00
page_owner.h
page_ref.h
page_reporting.h
page-flags-layout.h
page-flags.h mm: fix data race in PagePoisoned() 2021-11-06 13:30:38 -07:00
page-isolation.h
pageblock-flags.h
pagemap.h Merge branch 'akpm' (patches from Andrew) 2021-09-08 12:55:35 -07:00
pagevec.h
pagewalk.h
panic_notifier.h
panic.h
parman.h
parport_pc.h
parport.h
parser.h
part_stat.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h PCI: Change the type of probe argument in reset functions 2021-08-18 17:32:42 -05:00
pci_ids.h pci-v5.15-changes 2021-09-07 19:13:42 -07:00
pci-acpi.h PCI: VMD: ACPI: Make ACPI companion lookup work for VMD bus 2021-09-02 17:59:58 +02:00
pci-ats.h
pci-dma-compat.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h PCI: endpoint: Add virtual function number in pci_epc ops 2021-08-19 14:13:28 +01:00
pci-epf.h pci-v5.15-changes 2021-09-07 19:13:42 -07:00
pci-p2pdma.h
pci.h pci-v5.15-changes 2021-09-07 19:13:42 -07:00
pcs-lynx.h
pda_power.h
pe.h
percpu_counter.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h percpu: add __alloc_size attributes for better bounds checking 2021-11-06 13:30:34 -07:00
perf_event.h perf/core: fix userpage->time_enabled of inactive events 2021-10-01 13:57:54 +02:00
perf_regs.h
personality.h
pfn_t.h
pfn.h
pgtable.h
phonet.h
phy_fixed.h
phy_led_triggers.h
phy.h
phylink.h net: phylink: add suspend/resume support 2021-09-07 14:04:59 +01:00
pid_namespace.h
pid.h
pim.h
pipe_fs_i.h
pkeys.h x86/fault: Fix wrong signal when vsyscall fails with pkey 2021-09-20 22:28:47 +02:00
pktcdvd.h
pl320-ipc.h
platform_device.h
platform_profile.h
pldmfw.h
plist.h
pm_clock.h PM: runtime: add devm_pm_clk_create helper 2021-08-26 11:28:07 -07:00
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h PM: runtime: add devm_pm_runtime_enable helper 2021-08-26 11:27:51 -07:00
pm_wakeirq.h
pm_wakeup.h
pm-trace.h
pm.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix-clock.h
posix-timers.h
power_supply.h
powercap.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pr.h
prandom.h
preempt.h
prefetch.h
prime_numbers.h
printk.h Kbuild updates for v5.15 2021-09-03 15:33:47 -07:00
prmt.h
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h
pruss_driver.h
psci.h
pseudo_fs.h
psi_types.h
psi.h
psp-sev.h
psp-tee.h
pstore_blk.h
pstore_ram.h
pstore_zone.h
pstore.h
ptdump.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptp_kvm.h
ptp_pch.h
ptr_ring.h
ptrace.h
purgatory.h
pvclock_gtod.h
pwm_backlight.h
pwm.h pwm: Make pwmchip_remove() return void 2021-09-02 21:38:56 +02:00
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h qcom_scm: hide Kconfig symbol 2021-10-07 16:51:57 +02:00
qcom-geni-se.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_types.h
ratelimit.h
rational.h
rbtree_augmented.h
rbtree_latch.h
rbtree_types.h
rbtree.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate_trace.h
rcupdate_wait.h
rcupdate.h
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h
regmap.h Merge series "Use raw spinlocks in the ls-extirq driver" from Vladimir Oltean <vladimir.oltean@nxp.com>: 2021-08-26 13:40:35 +01:00
regset.h
relay.h
remoteproc.h
resctrl.h
reset-controller.h
reset.h
resource_ext.h
resource.h
restart_block.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.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
rtsx_usb.h
rwbase_rt.h
rwlock_api_smp.h
rwlock_rt.h
rwlock_types.h
rwlock.h
rwsem.h locking/rwsem: Add missing __init_rwsem() for PREEMPT_RT 2021-09-02 22:07:17 +02:00
s3c_adc_battery.h
sbitmap.h
scatterlist.h lib/scatterlist: Fix wrong update of orig_nents 2021-08-24 19:52:40 -03:00
scc.h
sched_clock.h
sched.h sched: Always inline is_percpu_thread() 2021-10-01 13:57:57 +02:00
scmi_protocol.h
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200_gpio.h
scx200.h
sdb.h
seccomp.h
secretmem.h mm/secretmem: fix NULL page->mapping dereference in page_is_secretmem() 2021-10-18 20:22:03 -10:00
securebits.h
security.h
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
seg6.h
selection.h
sem.h
semaphore.h
seq_buf.h
seq_file_net.h
seq_file.h
seqlock.h
seqno-fence.h
serdev.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_max3100.h
serial_s3c.h
serial_sci.h
serial.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 huge tmpfs: shmem_is_huge(vma, inode, index) 2021-09-03 09:58:12 -07:00
shrinker.h
signal_types.h
signal.h
signalfd.h
siox.h
siphash.h
sizes.h
skb_array.h
skbuff.h net/af_unix: fix a data-race in unix_dgram_poll 2021-09-09 10:57:52 +01:00
skmsg.h skmsg: Extract and reuse sk_msg_is_readable() 2021-10-26 12:29:33 -07:00
slab_def.h
slab.h mm: remove HARDENED_USERCOPY_FALLBACK 2021-11-06 13:30:43 -07:00
slimbus.h
slub_def.h mm, slub: change percpu partial accounting from objects to pages 2021-11-06 13:30:32 -07:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp_types.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h Core: 2021-08-31 16:43:06 -07:00
sockptr.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_rt.h
spinlock_types_raw.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h
splice.h
spmi.h
sram.h
srcu.h
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h stacktrace: move filter_irq_stacks() to kernel/stacktrace.c 2021-11-06 13:30:43 -07:00
stackleak.h
stackprotector.h
stacktrace.h stacktrace: move filter_irq_stacks() to kernel/stacktrace.c 2021-11-06 13:30:43 -07:00
start_kernel.h
stat.h
statfs.h
static_call_types.h
static_call.h
static_key.h
stdarg.h isystem: ship and use stdarg.h 2021-08-19 09:02:55 +09:00
stddef.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string_helpers.h
string.h isystem: ship and use stdarg.h 2021-08-19 09:02:55 +09:00
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
swap_cgroup.h
swap_slots.h
swap.h include/linux/mm.h: move nr_free_buffer_pages from swap.h to mm.h 2021-11-06 13:30:43 -07:00
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys_soc.h
sys.h
syscall_user_dispatch.h
syscalls.h ARM development updates for 5.15: 2021-09-09 13:25:49 -07:00
syscore_ops.h
sysctl.h
sysfb.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting_ops.h
task_io_accounting.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tee_drv.h
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h
thread_info.h
threads.h pid: cleanup the stale comment mentioning pidmap_init(). 2021-09-08 11:50:28 -07:00
thunderbolt.h
ti_wilink_st.h
ti-emif-sram.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time32.h
time64.h time: Handle negative seconds correctly in timespec64_to_ns() 2021-09-08 17:44:26 +02:00
time_namespace.h
time.h
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_command.h
tpm_eventlog.h
tpm.h
trace_clock.h
trace_events.h Tracing updates for 5.15: 2021-09-05 11:50:41 -07:00
trace_recursion.h tracing: Have all levels of checks prevent recursion 2021-10-18 18:12:09 -04:00
trace_seq.h
trace.h
tracefs.h
tracehook.h entry: rseq: Call rseq_handle_notify_resume() in tracehook_notify_resume() 2021-09-22 10:24:01 -04:00
tracepoint-defs.h
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tty_buffer.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty_port.h
tty.h
typecheck.h
types.h
u64_stats_sync.h
uacce.h
uaccess.h arch: remove compat_alloc_user_space 2021-09-08 15:32:35 -07:00
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio_driver.h
uio.h Revert "iov_iter: track truncated size" 2021-09-15 09:22:35 -06:00
umh.h
unicode.h
units.h Merge branch 'akpm' (patches from Andrew) 2021-09-08 12:55:35 -07:00
uprobes.h
usb_usual.h
usb.h
usbdevice_fs.h
user_namespace.h ucounts: Fix signal ucount refcounting 2021-10-18 16:02:30 -05:00
user-return-notifier.h
user.h
userfaultfd_k.h userfaultfd: change mmap_changing to atomic 2021-09-03 09:58:16 -07:00
usermode_driver.h
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
vdpa.h vdpa: Support transferring virtual addressing during DMA mapping 2021-09-06 07:20:57 -04:00
verification.h
vermagic.h
vexpress.h
vfio_pci_core.h vfio/pci: Introduce vfio_pci_core.ko 2021-08-26 10:36:51 -06:00
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
vhost_iotlb.h vhost-iotlb: Add an opaque pointer for vhost IOTLB 2021-09-06 07:20:57 -04:00
via_i2c.h
via-core.h
via-gpio.h
via.h
videodev2.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_dma_buf.h
virtio_net.h
virtio_pci_modern.h
virtio_ring.h
virtio_vsock.h
virtio.h
visorbus.h
vlynq.h
vm_event_item.h mm/vmscan: add page demotion counter 2021-09-03 09:58:16 -07:00
vmacache.h
vmalloc.h mm/vmalloc: don't allow VM_NO_GUARD on vmap() 2021-11-06 13:30:36 -07:00
vme.h
vmpressure.h mm/vmpressure: replace vmpressure_to_css() with vmpressure_to_memcg() 2021-09-03 09:58:17 -07:00
vmstat.h
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt_buffer.h
vt_kern.h
vt.h
vtime.h
w1-gpio.h
w1.h
wait_bit.h
wait.h Scheduler changes for v5.15 are: 2021-08-30 13:42:10 -07:00
watch_queue.h
watchdog.h watchdog: introduce watchdog_dev_suspend/resume 2021-08-22 10:28:08 +02:00
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h workqueue: annotate alloc_workqueue() as printf 2021-09-13 07:53:27 -10:00
writeback.h Merge branch 'akpm' (patches from Andrew) 2021-09-03 10:08:28 -07:00
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
zutil.h