twx-linux/include/linux
Suren Baghdasaryan 67197a4f28 mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary
Currently __set_oom_adj loops through all processes in the system to keep
oom_score_adj and oom_score_adj_min in sync between processes sharing
their mm.  This is done for any task with more that one mm_users, which
includes processes with multiple threads (sharing mm and signals).
However for such processes the loop is unnecessary because their signal
structure is shared as well.

Android updates oom_score_adj whenever a tasks changes its role
(background/foreground/...) or binds to/unbinds from a service, making it
more/less important.  Such operation can happen frequently.  We noticed
that updates to oom_score_adj became more expensive and after further
investigation found out that the patch mentioned in "Fixes" introduced a
regression.  Using Pixel 4 with a typical Android workload, write time to
oom_score_adj increased from ~3.57us to ~362us.  Moreover this regression
linearly depends on the number of multi-threaded processes running on the
system.

Mark the mm with a new MMF_MULTIPROCESS flag bit when task is created with
(CLONE_VM && !CLONE_THREAD && !CLONE_VFORK).  Change __set_oom_adj to use
MMF_MULTIPROCESS instead of mm_users to decide whether oom_score_adj
update should be synchronized between multiple processes.  To prevent
races between clone() and __set_oom_adj(), when oom_score_adj of the
process being cloned might be modified from userspace, we use
oom_adj_mutex.  Its scope is changed to global.

The combination of (CLONE_VM && !CLONE_THREAD) is rarely used except for
the case of vfork().  To prevent performance regressions of vfork(), we
skip taking oom_adj_mutex and setting MMF_MULTIPROCESS when CLONE_VFORK is
specified.  Clearing the MMF_MULTIPROCESS flag (when the last process
sharing the mm exits) is left out of this patch to keep it simple and
because it is believed that this threading model is rare.  Should there
ever be a need for optimizing that case as well, it can be done by hooking
into the exit path, likely following the mm_update_next_owner pattern.

With the combination of (CLONE_VM && !CLONE_THREAD && !CLONE_VFORK) being
quite rare, the regression is gone after the change is applied.

[surenb@google.com: v3]
  Link: https://lkml.kernel.org/r/20200902012558.2335613-1-surenb@google.com

Fixes: 44a70adec910 ("mm, oom_adj: make sure processes sharing mm have same view of oom_score_adj")
Reported-by: Tim Murray <timmurray@google.com>
Suggested-by: Michal Hocko <mhocko@kernel.org>
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Oleg Nesterov <oleg@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Eugene Syromiatnikov <esyr@redhat.com>
Cc: Christian Kellner <christian@kellner.me>
Cc: Adrian Reber <areber@redhat.com>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Aleksa Sarai <cyphar@cyphar.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Alexey Gladkov <gladkov.alexey@gmail.com>
Cc: Michel Lespinasse <walken@google.com>
Cc: Daniel Jordan <daniel.m.jordan@oracle.com>
Cc: Andrei Vagin <avagin@gmail.com>
Cc: Bernd Edlinger <bernd.edlinger@hotmail.de>
Cc: John Johansen <john.johansen@canonical.com>
Cc: Yafang Shao <laoar.shao@gmail.com>
Link: https://lkml.kernel.org/r/20200824153036.3201505-1-surenb@google.com
Debugged-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-10-13 18:38:35 -07:00
..
amba Partially revert "video: fbdev: amba-clcd: Retire elder CLCD driver" 2020-09-30 16:37:39 +02:00
avf
bcma
byteorder
can
ceph libceph: add __maybe_unused to DEFINE_CEPH_FEATURE 2020-08-24 10:33:08 +02:00
clk
crush
decompress
device
dma include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
dsa
extcon
firmware
fpga
fsl
gpio gpiolib: unexport devprop_gpiochip_set_names() 2020-09-14 10:54:42 +02:00
greybus
hsi
i3c
iio iio: iio.h: fix a warning at the kernel-doc markup 2020-09-11 09:39:57 -06:00
input
irqchip include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
isdn
lockd
mailbox - mediatek : 2020-08-07 12:58:11 -07:00
mfd gpio: tc35894: Disable Direct KBD interrupts to enable gpio irq 2020-09-09 11:33:07 +02:00
mlx4
mlx5 net/mlx5: cmdif, Avoid skipping reclaim pages if FW is not accessible 2020-10-02 10:59:55 -07:00
mmc mmc: core: add a 'doing_init_tune' flag and a 'mmc_doing_tune' helper 2020-09-07 09:16:31 +02:00
mtd Core changes: 2020-08-07 08:54:16 +02:00
mux
net/intel
netfilter netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS 2020-08-28 20:11:58 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf arm64: perf: Add support caps under sysfs 2020-09-28 14:53:45 +01:00
phy
pinctrl
platform_data hwmon changes for v5.10-rc1 2020-10-13 10:15:31 -07:00
power
qed net: qed: Disable aRFS for NPAR and 100G 2020-09-09 14:28:18 -07:00
raid
regulator regulator: unexport regulator_lock/unlock() 2020-09-21 17:43:47 +01:00
remoteproc
reset
rpmsg
rtc
sched mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary 2020-10-13 18:38:35 -07:00
soc regulator: qcom_smd: Add PM660/PM660L regulator support 2020-10-01 21:25:25 +01:00
soundwire
spi
ssb
sunrpc SUNRPC: remove RC4-HMAC-MD5 support from KerberosV 2020-09-11 14:39:15 +10:00
ulpi
unaligned
usb
wimax
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
acpi.h x86/numa: add 'nohmat' option 2020-10-13 18:38:27 -07:00
adb.h
adfs_fs.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
ahci-remap.h
aio.h
alarmtimer.h
alcor_pci.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02:00
anon_inodes.h
apm_bios.h
apm-emulation.h
apple_bl.h
apple-gmux.h
arch_topology.h
arm_sdei.h
arm-cci.h
arm-smccc.h
armada-37xx-rwtm-mailbox.h
ascii85.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1.h
assoc_array_priv.h
assoc_array.h
async_tx.h md/raid6: let async recovery function support different page offset 2020-09-24 16:44:44 -07:00
async.h
ata_platform.h
ata.h
atalk.h
ath9k_platform.h
atm_suni.h
atm_tcp.h
atm.h
atmdev.h
atmel_pdc.h
atmel-isc-media.h
atmel-mci.h
atmel-ssc.h
atomic-arch-fallback.h
atomic-fallback.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
backing-dev-defs.h
backing-dev.h bdi: replace BDI_CAP_NO_{WRITEBACK,ACCT_DIRTY} with a single flag 2020-09-24 13:43:39 -06: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
bit_spinlock.h
bitfield.h bitfield.h: don't compile-time validate _val in FIELD_FIT 2020-08-10 12:16:51 -07:00
bitmap.h
bitops.h
bitrev.h
bits.h
blk_types.h block-5.10-2020-10-12 2020-10-13 12:12:44 -07:00
blk-cgroup.h
blk-crypto.h block: make bio_crypt_clone() able to fail 2020-10-05 10:47:43 -06:00
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h blk-mq, elevator: Count requests per hctx to improve performance 2020-09-03 15:20:47 -06:00
blk-pm.h
blkdev.h drivers-5.10-2020-10-12 2020-10-13 13:04:41 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootconfig.h
bottom_half.h
bpf_lirc.h
bpf_lsm.h
bpf_trace.h
bpf_types.h
bpf_verifier.h
bpf-cgroup.h
bpf-netns.h
bpf.h
bpfilter.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf_ids.h
btf.h
btree-128.h
btree-type.h
btree.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
btrfs.h
buffer_head.h
bug.h
build_bug.h
build-salt.h
bvec.h block: allow for_each_bvec to support zero len bvec 2020-09-02 20:59:40 -06:00
c2port.h
cache.h
cacheinfo.h cacheinfo: Move resctrl's get_cache_id() to the cacheinfo header file 2020-08-19 11:04:23 +02:00
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup_rdma.h
cgroup_subsys.h
cgroup-defs.h
cgroup.h
circ_buf.h
cleancache.h
clk-provider.h
clk.h
clkdev.h
clockchips.h
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h include/linux/compaction.h: clean code by removing unused enum value 2020-10-13 18:38:34 -07:00
compat.h Merge branch 'compat.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-10-12 16:44:57 -07:00
compiler_attributes.h Compiler Attributes: fix comment concerning GCC 4.6 2020-08-27 09:53:06 +02:00
compiler_types.h sparse: use static inline for __chk_{user,io}_ptr() 2020-08-29 09:29:32 +02:00
compiler-clang.h compiler-clang: add build check for clang 10.0.1 2020-10-13 18:38:26 -07:00
compiler-gcc.h compiler-gcc: improve version error 2020-10-13 18:38:26 -07:00
compiler-intel.h
compiler.h compiler.h: avoid escaped section names 2020-10-13 18:38:26 -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
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter_enum.h
counter.h
cper.h cper,edac,efi: Memory Error Record: bank group/address and chip id 2020-09-17 10:19:52 +03:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h
cpufeature.h
cpufreq.h cpufreq: Use WARN_ON_ONCE() for invalid relation 2020-08-27 12:51:25 +02:00
cpuhotplug.h debugobjects: Free per CPU pool after CPU unplug 2020-10-01 16:13:54 +02:00
cpuidle_haltpoll.h
cpuidle.h cpuidle: Allow cpuidle drivers to take over RCU-idle 2020-09-16 19:36:26 +02:00
cpumask.h
cpuset.h
crash_core.h kdump: append kernel build-id string to VMCOREINFO 2020-08-12 10:58:01 -07:00
crash_dump.h
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
cyclades.h
dasd_mod.h
davinci_emac.h
dax.h ACPI: HMAT: refactor hmat_register_target_device to hmem_register_device 2020-10-13 18:38:27 -07:00
dca.h
dcache.h fscrypt: rename DCACHE_ENCRYPTED_NAME to DCACHE_NOKEY_NAME 2020-09-23 21:29:49 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h debugobjects: Allow debug_obj_descr to be const 2020-09-24 21:56:24 +02:00
delay.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
delayacct.h
delayed_call.h
dev_printk.h
devcoredump.h
devfreq_cooling.h
devfreq-event.h
devfreq.h
device_cgroup.h
device-mapper.h dm: add support for REQ_NOWAIT and enable it for linear target 2020-09-25 08:20:03 -06:00
device.h PM: <linux/device.h>: fix @em_pd kernel-doc warning 2020-09-10 19:19:42 +02:00
devpts_fs.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.h
dma-contiguous.h
dma-debug.h dma-debug: remove debug_dma_assert_idle() function 2020-08-14 15:22:43 -07:00
dma-direct.h dma-pool: fix coherent pool allocations for IOMMU mappings 2020-08-14 16:27:00 +02:00
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence.h
dma-heap.h
dma-iommu.h
dma-mapping.h dma-pool: fix coherent pool allocations for IOMMU mappings 2020-08-14 16:27:00 +02:00
dma-noncoherent.h
dma-resv.h
dmaengine.h dmaengine updates for v5.9-rc1 2020-08-07 12:41:36 -07:00
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
dw_apb_timer.h
dynamic_debug.h dyndbg: refine export, rename to dynamic_debug_exec_queries() 2020-09-04 17:21:56 +02:00
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
efi_embedded_fw.h test_firmware: Test platform fw loading on non-EFI systems 2020-09-10 18:19:16 +02:00
efi-bgrt.h
efi.h Merge branch 'efi/urgent' into efi/core, to pick up fixes 2020-10-12 13:38:31 +02:00
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
energy_model.h
entry-common.h * Misc minor cleanups. 2020-10-12 10:51:02 -07:00
entry-kvm.h
err.h
errname.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h
ethtool_netlink.h
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h export.h: fix section name for CONFIG_TRIM_UNUSED_KSYMS for Clang 2020-10-13 18:38:26 -07:00
exportfs.h include/linux/exportfs.h: drop duplicated word in a comment 2020-08-12 10:57:59 -07:00
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fiemap.h
file.h
filter.h treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts 2020-09-25 10:28:51 +02:00
frame.h
freezer.h
frontswap.h include/linux/frontswap.h: drop duplicated word in a comment 2020-08-12 10:57:57 -07:00
fs_context.h
fs_enet_pd.h
fs_parser.h fs: fix cast in fsparam_u32hex() macro 2020-09-16 19:12:27 -04:00
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fs_uart_pd.h
fs.h mm, fadvise: improve the expensive remote LRU cache draining after FADV_DONTNEED 2020-10-13 18:38:29 -07:00
fscache-cache.h
fscache.h
fscrypt.h fscrypt: export fscrypt_d_revalidate() 2020-09-28 14:44:51 -07:00
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 ftrace: let ftrace_enable_sysctl take a kernel pointer buffer 2020-09-19 13:13:39 -07:00
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h lib/generic-radix-tree.c: remove unneeded __rcu 2020-08-12 10:57:59 -07:00
genetlink.h
genhd.h block: move the NEED_PART_SCAN flag to struct gendisk 2020-09-23 10:43:18 -06:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm: remove unused alloc_page_vma_node() 2020-10-13 18:38:34 -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 HID: core: Sanitize event code and type when mapping input 2020-09-01 12:06:41 +02:00
hidden.h x86/boot/compressed: Force hidden visibility for all symbol references 2020-08-14 12:52:34 +02:00
hiddev.h
hidraw.h
highmem.h include/linux/highmem.h: fix duplicated words in a comment 2020-08-12 10:57:57 -07:00
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hmm.h
host1x.h media: gpu: host1x: mipi: Keep MIPI clock enabled and mutex locked till calibration done 2020-08-28 15:12:38 +02:00
hp_sdc.h
hpet.h
hrtimer_defs.h
hrtimer.h
htcpld.h
huge_mm.h include/linux/huge_mm.h: remove mincore_huge_pmd declaration 2020-10-13 18:38:32 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h mm/hugetlb: make hugetlb migration callback CMA aware 2020-08-12 10:58:02 -07:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h hwmon: (core) Add support for rated attributes 2020-09-23 09:42:39 -07:00
hwspinlock.h
hyperv.h
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h i2c: algo: pca: Reapply i2c bus settings after reset 2020-09-09 10:22:40 +02:00
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-smbus.h
i2c.h Merge branch 'i2c/for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2020-08-13 18:41:00 -07:00
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h ide-gd: stop using the disk events mechanism 2020-09-10 09:32:31 -06:00
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_frad.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-polldev.h
input.h
instrumentation.h
instrumented.h instrumented.h: Introduce read-write instrumentation hooks 2020-08-24 15:09:58 -07:00
integrity.h
intel_rapl.h
intel_th.h
intel-iommu.h Surgery of the MSI interrupt handling to prepare the support of upcoming 2020-10-12 11:40:41 -07:00
intel-ish-client-if.h
intel-pti.h
intel-svm.h drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02:00
interconnect-provider.h
interconnect.h
interrupt.h
interval_tree_generic.h
interval_tree.h
io_uring.h io_uring: move io_uring_get_socket() into io_uring.h 2020-09-30 20:32:33 -06:00
io-64-nonatomic-hi-lo.h iomap: constify ioreadX() iomem argument (as in generic implementation) 2020-08-14 19:56:57 -07:00
io-64-nonatomic-lo-hi.h iomap: constify ioreadX() iomem argument (as in generic implementation) 2020-08-14 19:56:57 -07:00
io-mapping.h
io-pgtable.h
io.h
ioasid.h
iocontext.h
iomap.h
iommu-helper.h
iommu.h drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02: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_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irq.h Merge branch 'irq/qcom-pdc-wakeup' into irq/irqchip-next 2020-10-06 11:28:03 +01:00
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h Surgery of the MSI interrupt handling to prepare the support of upcoming 2020-10-12 11:40:41 -07:00
irqflags.h lockdep: Only trace IRQ edges 2020-08-26 12:41:56 +02:00
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isicom.h
iversion.h
jbd2.h Improvements to ext4's block allocator performance for very large file 2020-08-21 11:03:38 -07:00
jhash.h treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
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.h KUnit: KASAN Integration 2020-10-13 18:38:32 -07:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kcsan-checks.h kcsan: Support compounded read-write instrumentation 2020-08-24 15:09:32 -07:00
kcsan.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel_stat.h
kernel-page-flags.h mm: Add PG_arch_2 page flag 2020-09-04 12:46:06 +01:00
kernel.h kernel.h: Silence sparse warning in lower_32_bits 2020-08-28 11:21:20 -07:00
kernelcapi.h
kernfs.h
kexec.h
key-type.h
key.h
keyboard.h
keyctl.h
keyslot-manager.h
kfifo.h
kgdb.h
khugepaged.h mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged 2020-10-11 10:31:11 -07:00
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h
kprobes.h This tree prepares to unify the kretprobe trampoline handler and make 2020-10-12 14:21:15 -07:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h mm/ksm: Remove reuse_ksm_page() 2020-09-04 09:25:20 -07:00
kthread.h
ktime.h
kvm_host.h KVM: arm64: pvtime: Fix stolen time accounting across migration 2020-08-21 14:04:14 +01:00
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-tca6507.h
leds-ti-lmu-common.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
leds.h
libata.h libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks 2020-09-02 11:31:23 -06:00
libfdt_env.h
libfdt.h
libgcc.h
libnvdimm.h
libps2.h
license.h
lightnvm.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
livepatch.h
llc.h
llist.h
local_lock_internal.h
local_lock.h
lockdep_types.h lockdep: Fix usage_traceoverflow 2020-10-09 08:53:08 +02:00
lockdep.h Merge branch 'locking/urgent' into locking/core, to pick up fixes 2020-10-09 08:55:17 +02:00
lockref.h
log2.h include/linux/log2.h: add missing () around n in roundup_pow_of_two() 2020-09-05 12:14:30 -07:00
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hook_defs.h Minor fixes for v5.9. 2020-08-11 14:30:36 -07:00
lsm_hooks.h Minor fixes for v5.9. 2020-08-11 14:30:36 -07:00
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
math64.h power supply and reset changes for the v5.9 series 2020-08-07 21:27:37 -07:00
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio-xpcs.h
mdio.h
mei_cl_bus.h
mem_encrypt.h
memblock.h memblock: use separate iterators for memory and reserved regions 2020-10-13 18:38:35 -07:00
memcontrol.h mm/memcg: unify swap and memsw page counters 2020-10-13 18:38:30 -07:00
memfd.h
memory_hotplug.h mm/memory_hotplug: introduce default phys_to_target_node() implementation 2020-10-13 18:38:27 -07:00
memory.h
mempolicy.h include/linux/mempolicy.h: fix typo 2020-08-12 10:57:56 -07:00
mempool.h
memregion.h
memremap.h mm/memremap_pages: support multiple ranges per invocation 2020-10-13 18:38:28 -07:00
memstick.h memstick: Skip allocating card when removing host 2020-09-28 12:16:13 +02:00
mhi.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate_mode.h
migrate.h mm/migrate: introduce a standard migration target allocation function 2020-08-12 10:58:02 -07:00
mii_timestamper.h
mii.h
min_heap.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h mm: replace hpage_nr_pages with thp_nr_pages 2020-08-14 19:56:56 -07:00
mm_types_task.h
mm_types.h Initial support for sharing virtual addresses between the CPU and 2020-10-12 10:40:34 -07:00
mm-arch-hooks.h
mm.h mm: remove src/dst mm parameter in copy_page_range() 2020-10-13 18:38:32 -07:00
mman.h mm: Introduce arch_validate_flags() 2020-09-04 12:46:07 +01:00
mmap_lock.h mmap locking API: add mmap_lock_is_contended() 2020-10-13 18:38:31 -07:00
mmdebug.h
mmiotrace.h
mmu_context.h cpuidle: Make CPUIDLE_FLAG_TLB_FLUSHED generic 2020-08-26 12:41:53 +02:00
mmu_notifier.h mm/migrate: fix migrate_pgmap_owner w/o CONFIG_MMU_NOTIFIER 2020-08-07 11:33:21 -07:00
mmzone.h mmzone: clean code by removing unused macro parameter 2020-10-13 18:38:33 -07:00
mnt_namespace.h
mod_devicetable.h
module_signature.h
module.h static_call: Add inline static call infrastructure 2020-09-01 09:58:04 +02:00
moduleloader.h
moduleparam.h
most.h
mount.h
moxtet.h
mpage.h
mpi.h lib/mpi: Introduce ec implementation to MPI library 2020-09-25 17:48:54 +10:00
mpls_iptunnel.h
mpls.h
mroute6.h
mroute_base.h
mroute.h
msdos_fs.h
msdos_partition.h
msg.h
msi.h PCI/MSI: Make arch_.*_msi_irq[s] fallbacks selectable 2020-09-16 16:52:37 +02:00
mtio.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
ndctl.h
net.h net: introduce helper sendpage_ok() in include/linux/net.h 2020-10-02 15:27:08 -07:00
netdev_features.h net: Fix broken NETIF_F_CSUM_MASK spell in netdev_features.h 2020-09-10 13:30:22 -07:00
netdevice.h net: core: document two new elements of struct net_device 2020-10-02 15:15:56 -07:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h netfilter: avoid ipv6 -> nf_defrag_ipv6 module dependency 2020-08-13 04:16:15 +02:00
netfilter.h
netlink.h
netpoll.h
nfs3.h
nfs4.h NFS client updates for Linux 5.9 2020-08-15 08:26:55 -07:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h pNFS/flexfiles: Be consistent about mirror index types 2020-09-18 09:25:33 -04:00
nfs.h
nfsacl.h
nl802154.h
nls.h
nmi.h
node.h mm: don't rely on system state to detect hot-plug operations 2020-09-26 10:33:57 -07:00
nodemask.h
nospec.h
notifier.h notifier: Fix broken error handling pattern 2020-09-01 09:58:03 +02:00
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h
ntb.h
nubus.h
numa.h mm/memory_hotplug: introduce default phys_to_target_node() implementation 2020-10-13 18:38:27 -07:00
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
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
oid_registry.h X.509: support OSCCA certificate parse 2020-09-25 17:48:54 +10:00
olpc-ec.h
omap-dma.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary 2020-10-13 18:38:35 -07:00
openvswitch.h
oprofile.h
osq_lock.h
overflow.h
packing.h
padata.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
page_reporting.h
page-flags-layout.h
page-flags.h mm: simplify PageDoubleMap with PF_SECOND policy 2020-10-13 18:38:31 -07:00
page-isolation.h
pageblock-flags.h mm/page_alloc.c: remove unnecessary end_bitidx for [set|get]_pfnblock_flags_mask() 2020-08-07 11:33:29 -07:00
pagemap.h mm: add find_lock_head 2020-10-13 18:38:29 -07:00
pagevec.h
pagewalk.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_ids.h VFIO updates for v5.9-rc1 2020-08-12 12:09:36 -07:00
pci-acpi.h
pci-ats.h
pci-dma-compat.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci.h pci-v5.9-changes 2020-08-07 18:48:15 -07:00
pda_power.h
pe.h include: pe.h: Add RISC-V related PE definition 2020-09-11 09:30:01 +03:00
percpu_counter.h percpu_counter: add percpu_counter_sync() 2020-08-07 11:33:26 -07:00
percpu-defs.h
percpu-refcount.h percpu_ref: reduce memory footprint of percpu_ref in fast path 2020-10-06 07:29:36 -06:00
percpu-rwsem.h locking/percpu-rwsem: Use this_cpu_{inc,dec}() for read_count 2020-09-16 16:26:56 +02:00
percpu.h
perf_event.h perf/core: Pull pmu::sched_task() into perf_event_context_sched_out() 2020-09-10 11:19:34 +02:00
perf_regs.h
personality.h
pfn_t.h
pfn.h
pgtable.h arm64 updates for 5.10 2020-10-12 10:00:51 -07:00
phonet.h
phy_fixed.h
phy_led_triggers.h
phy.h
phylink.h phylink: <linux/phylink.h>: fix function prototype kernel-doc warning 2020-08-17 11:46:22 -07:00
pid_namespace.h
pid.h
pim.h
pipe_fs_i.h pipe: remove pipe_wait() and fix wakeup race with splice 2020-10-01 19:14:36 -07:00
pkeys.h
pktcdvd.h
pl320-ipc.h
pl353-smc.h
platform_device.h
pldmfw.h
plist.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pm-trace.h
pm.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h include/linux/poison.h: remove obsolete comment 2020-08-12 10:57:59 -07:00
poll.h
posix_acl_xattr.h
posix_acl.h
posix-clock.h
posix-timers.h
power_supply.h
powercap.h powercap: make documentation reflect code 2020-09-10 19:27:59 +02:00
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pps-gpio.h
pr.h
prandom.h
preempt.h
prefetch.h
prime_numbers.h
printk.h
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h device: property: add helpers to count items in string arrays 2020-09-14 10:53:43 +02:00
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
ptr_ring.h
ptrace.h
purgatory.h
pvclock_gtod.h
pwm_backlight.h
pwm.h
pxa2xx_ssp.h spi: pxa2xx: Drop useless comment in the pxa2xx_ssp.h 2020-08-26 20:15:34 +01:00
pxa168_eth.h
qcom_scm.h media: firmware: qcom_scm: Add memory protect virtual address ranges 2020-09-14 15:45:25 +02:00
qcom-geni-se.h
qnx6_fs.h
quota.h
quotaops.h quota: simplify the quotactl compat handling 2020-09-17 13:00:46 -04:00
radix-tree.h
raid_class.h
ramfs.h
random.h
range.h mm/memremap_pages: convert to 'struct range' 2020-10-13 18:38:28 -07:00
ras.h
ratelimit_types.h
ratelimit.h
rational.h
rbtree_augmented.h
rbtree_latch.h rbtree_latch: Use seqcount_latch_t 2020-09-10 11:19:29 +02:00
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 locking/refcount: Provide __refcount API to obtain the old value 2020-08-26 12:42:02 +02:00
regmap.h regmap: irq: Add support to clear ack registers 2020-10-05 18:35:30 +01:00
regset.h
relay.h
remoteproc.h
resctrl.h x86/resctrl: Include pid.h 2020-08-18 17:06:15 +02:00
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
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem.h
s3c_adc_battery.h
sbitmap.h
scatterlist.h
scc.h
sched_clock.h
sched.h kasan/kunit: add KUnit Struct to Current Task 2020-10-13 18:38:32 -07:00
scif.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
scs.h
sctp.h
scx200_gpio.h
scx200.h
sdb.h
sdla.h
seccomp.h
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 locking/seqlock: Tweak DEFINE_SEQLOCK() kernel doc 2020-10-07 18:14:14 +02:00
seqno-fence.h
serdev.h
serial_8250.h
serial_bcm63xx.h
serial_core.h serial: core: fix console port-lock regression 2020-09-16 13:22:44 +02:00
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serial.h
serio.h
set_memory.h
sfi_acpi.h
sfi.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 tmpfs: support 64-bit inums per-sb 2020-08-07 11:33:24 -07:00
shrinker.h
signal_types.h
signal.h treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h Merge branch 'work.csum_and_copy' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-10-12 16:24:13 -07:00
skmsg.h
slab_def.h mm: memcg/slab: use a single set of kmem_caches for all allocations 2020-08-07 11:33:25 -07:00
slab.h include/linux/slab.h: fix a typo error in comment 2020-10-13 18:38:27 -07:00
slimbus.h
slub_def.h mm: memcg/slab: use a single set of kmem_caches for all allocations 2020-08-07 11:33:25 -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
sockptr.h net: Revert "net: optimize the sockptr_t for unified kernel/user address spaces" 2020-08-10 12:06:44 -07:00
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.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
stackleak.h stackleak: let stack_erasing_sysctl take a kernel pointer buffer 2020-09-19 13:13:39 -07:00
stackprotector.h
stacktrace.h stacktrace: Remove reliable argument from arch_stack_walk() callback 2020-09-18 14:24:16 +01:00
start_kernel.h
stat.h
statfs.h
static_call_types.h static_call: Handle tail-calls 2020-09-01 09:58:06 +02:00
static_call.h static_call: Fix return type of static_call_init 2020-10-02 21:18:25 +02:00
static_key.h
stddef.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string_helpers.h lib: string_helpers: provide kfree_strarray() 2020-09-30 10:50:30 +02:00
string.h x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() 2020-10-06 11:18:04 +02:00
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h PM: rewrite is_hibernate_resume_dev to not require an inode 2020-09-23 10:43:19 -06:00
svga.h
sw842.h
swab.h
swait.h
swap_cgroup.h
swap_slots.h mm/swap_slots.c: remove always zero and unused return value of enable_swap_slots_cache() 2020-10-13 18:38:30 -07:00
swap.h mm: remove activate_page() from unuse_pte() 2020-10-13 18:38:30 -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
syscalls.h rseq/membarrier: Add MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ 2020-09-25 14:23:27 +02:00
syscore_ops.h
sysctl.h all arch: remove system call sys_sysctl 2020-08-14 19:56:56 -07:00
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
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_namespace.h
time.h
timecounter.h
timekeeper_internal.h
timekeeping32.h
timekeeping.h timekeeping: Provide multi-timestamp accessor to NMI safe timekeeper 2020-08-23 10:38:24 +02:00
timer.h timers: Mask invalid flags in do_init_timer() 2020-09-24 22:12:18 +02:00
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
trace_seq.h
trace.h tracing: Add trace_array_init_printk() to initialize instance trace_printk() buffers 2020-08-07 17:05:01 -04:00
tracefs.h
tracehook.h
tracepoint-defs.h tracepoint: Optimize using static_call() 2020-09-01 09:58:06 +02:00
tracepoint.h tracepoint: Fix overly long tracepoint names 2020-09-08 14:10:59 +02:00
transport_class.h
ts-nbus.h
tsacct_kern.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h
typecheck.h
types.h
u64_stats_sync.h
uacce.h drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02:00
uaccess.h x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() 2020-10-06 11:18:04 +02:00
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio_driver.h
uio.h Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-10-12 16:35:51 -07:00
umh.h
unicode.h
units.h
uprobes.h
usb_usual.h
usb.h
usbdevice_fs.h
user_namespace.h
user-return-notifier.h
user.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
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
vhost_iotlb.h
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_net.h
virtio_ring.h
virtio_vsock.h
virtio.h
visorbus.h
vlynq.h
vm_event_item.h Merge branch 'simplify-do_wp_page' 2020-09-04 09:31:54 -07:00
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h mm: memcg/slab: fix slab statistics in !SMP configuration 2020-10-02 09:13:41 -07:00
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 mm: allow a controlled amount of unfairness in the page lock 2020-09-17 10:26:41 -07:00
watch_queue.h pipe: Fix memory leaks in create_pipe_files() 2020-10-01 09:40:35 -04:00
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
wl12xx.h
wm97xx.h
wmi.h
workqueue.h
writeback.h
ww_mutex.h
xarray.h
xattr.h Highlights: 2020-08-09 13:58:04 -07:00
xxhash.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
xz.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
zorro.h
zpool.h
zsmalloc.h
zstd.h
zutil.h