twx-linux/include/linux
Michal Hocko 93065ac753 mm, oom: distinguish blockable mode for mmu notifiers
There are several blockable mmu notifiers which might sleep in
mmu_notifier_invalidate_range_start and that is a problem for the
oom_reaper because it needs to guarantee a forward progress so it cannot
depend on any sleepable locks.

Currently we simply back off and mark an oom victim with blockable mmu
notifiers as done after a short sleep.  That can result in selecting a new
oom victim prematurely because the previous one still hasn't torn its
memory down yet.

We can do much better though.  Even if mmu notifiers use sleepable locks
there is no reason to automatically assume those locks are held.  Moreover
majority of notifiers only care about a portion of the address space and
there is absolutely zero reason to fail when we are unmapping an unrelated
range.  Many notifiers do really block and wait for HW which is harder to
handle and we have to bail out though.

This patch handles the low hanging fruit.
__mmu_notifier_invalidate_range_start gets a blockable flag and callbacks
are not allowed to sleep if the flag is set to false.  This is achieved by
using trylock instead of the sleepable lock for most callbacks and
continue as long as we do not block down the call chain.

I think we can improve that even further because there is a common pattern
to do a range lookup first and then do something about that.  The first
part can be done without a sleeping lock in most cases AFAICS.

The oom_reaper end then simply retries if there is at least one notifier
which couldn't make any progress in !blockable mode.  A retry loop is
already implemented to wait for the mmap_sem and this is basically the
same thing.

The simplest way for driver developers to test this code path is to wrap
userspace code which uses these notifiers into a memcg and set the hard
limit to hit the oom.  This can be done e.g.  after the test faults in all
the mmu notifier managed memory and set the hard limit to something really
small.  Then we are looking for a proper process tear down.

[akpm@linux-foundation.org: coding style fixes]
[akpm@linux-foundation.org: minor code simplification]
Link: http://lkml.kernel.org/r/20180716115058.5559-1-mhocko@kernel.org
Signed-off-by: Michal Hocko <mhocko@suse.com>
Acked-by: Christian König <christian.koenig@amd.com> # AMD notifiers
Acked-by: Leon Romanovsky <leonro@mellanox.com> # mlx and umem_odp
Reported-by: David Rientjes <rientjes@google.com>
Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Doug Ledford <dledford@redhat.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Mike Marciniszyn <mike.marciniszyn@intel.com>
Cc: Dennis Dalessandro <dennis.dalessandro@intel.com>
Cc: Sudeep Dutt <sudeep.dutt@intel.com>
Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Cc: Dimitri Sivanich <sivanich@sgi.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: "Jérôme Glisse" <jglisse@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-08-22 10:52:44 -07:00
..
amba
avf
bcma
byteorder
can can: dev: enable multi-queue for SocketCAN devices 2018-07-27 10:40:16 +02:00
ceph libceph: implement CEPHX_V2 calculation mode 2018-08-02 21:33:25 +02:00
clk
crush
decompress
dma DMAengine updates for v4.19-rc1 2018-08-18 15:55:59 -07:00
dsa
extcon
firmware/meson
fpga
fsl ptp_qoriq: support automatic configuration for ptp timer 2018-08-05 17:11:49 -07:00
gpio gpio: mmio: Fix up inverted direction registers 2018-08-10 23:19:17 +02:00
hsi
iio
input
irqchip
isdn
lockd
mailbox mailbox: mediatek: Add Mediatek CMDQ driver 2018-08-03 19:52:14 +05:30
mfd - New Drivers 2018-08-20 15:38:44 -07:00
mlx4
mlx5 Merge branch 'linus/master' into rdma.git for-next 2018-08-16 14:21:29 -06:00
mmc
mtd Core changes: 2018-08-11 12:19:35 +02:00
mux
netfilter netfilter: nfnetlink_osf: add missing enum in nfnetlink_osf uapi header 2018-08-08 18:23:49 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf
phy
pinctrl
platform_data Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2018-08-20 15:59:01 -07:00
power
qed qed/qede: Multi CoS support. 2018-08-09 14:05:30 -07:00
raid
regulator
remoteproc
reset
rpmsg
rtc
sched fs: fsnotify: account fsnotify metadata to kmemcg 2018-08-17 16:20:30 -07:00
soc remoteproc updates for v4.19 2018-08-18 16:42:04 -07:00
soundwire
spi spi: Updates for v4.19 2018-08-14 12:01:08 -07:00
ssb ssb: Remove SSB_WARN_ON, SSB_BUG_ON and SSB_DEBUG 2018-08-09 18:47:47 +03:00
sunrpc
ulpi
unaligned
usb USB/PHY patches for 4.19-rc1 2018-08-18 10:21:49 -07:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
acpi.h ACPI: property: Make the ACPI graph API private 2018-07-23 12:44:52 +02:00
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
ahci-remap.h
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
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
ascii85.h include: Move ascii85 functions from i915 to linux/ascii85.h 2018-07-30 08:49:02 -04:00
asn1_ber_bytecode.h
asn1_decoder.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_suni.h
atm_tcp.h
atm.h
atmdev.h
atmel_pdc.h
atmel_tc.h
atmel-mci.h
atmel-ssc.h
atomic.h locking/atomics: Rework ordering barriers 2018-07-25 11:53:59 +02:00
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h
backing-dev.h
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 block: unexport bio_clone_bioset 2018-07-24 14:43:26 -06:00
bit_spinlock.h
bitfield.h bitfield: avoid gcc-8 -Wint-in-bool-context warning 2018-08-17 16:20:27 -07:00
bitmap.h bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free() 2018-08-01 15:49:40 -07:00
bitops.h
bitrev.h
bits.h
blk_types.h block: Track DISCARD statistics and output them in stat and diskstat 2018-07-18 08:44:22 -06:00
blk-cgroup.h blkcg: Make blkg_root_lookup() work for queues in bypass mode 2018-08-11 15:41:25 -06:00
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h for-4.19/block-20180812 2018-08-14 10:23:25 -07:00
blkdev.h block: Remove two superfluous #include directives 2018-08-09 09:12:26 -06:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h docs/mm: bootmem: add kernel-doc description of 'struct bootmem_data' 2018-08-02 12:17:27 -06:00
bottom_half.h
bpf_lirc.h
bpf_trace.h
bpf_types.h bpf: Introduce BPF_PROG_TYPE_SK_REUSEPORT 2018-08-11 01:58:46 +02:00
bpf_verifier.h
bpf-cgroup.h bpf: allocate cgroup storage entries on attaching bpf programs 2018-08-03 00:47:32 +02:00
bpf.h bpf: decouple btf from seq bpf fs dump and enable more maps 2018-08-13 00:52:45 +02:00
bpfilter.h bpfilter: Fix mismatch in function argument types 2018-07-21 16:21:25 -07:00
brcmphy.h net: phy: Add support for Broadcom Omega internal Combo GPHY 2018-08-07 15:48:38 -07:00
bsearch.h
bsg-lib.h
bsg.h
btf.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build_bug.h
build-salt.h
bvec.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h block: Switch struct packet_command to use struct scsi_sense_hdr 2018-08-02 15:22:13 -06:00
cfag12864b.h
cgroup_rdma.h
cgroup_subsys.h
cgroup-defs.h
cgroup.h bpf: Introduce bpf_skb_ancestor_cgroup_id helper 2018-08-13 01:02:39 +02:00
circ_buf.h
cleancache.h
clk-provider.h
clk.h
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h time: Introduce one suspend clocksource to compensate the suspend time 2018-07-19 17:08:52 -07:00
cm4000_cs.h
cma.h mm/cma: remove unsupported gfp_mask parameter from cma_alloc() 2018-08-17 16:20:32 -07:00
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda_psdev.h
coda.h
compaction.h
compat_time.h
compat.h arm64 updates for 4.19 2018-08-14 16:39:13 -07:00
compiler_types.h deprecate the '__deprecated' attribute warnings entirely and for good 2018-08-18 12:19:56 -07:00
compiler-clang.h
compiler-gcc.h Raise the minimum required gcc version to 4.6 2018-08-20 14:12:38 -07:00
compiler-intel.h
compiler.h
completion.h
component.h
concap.h
configfs.h
connector.h
console_struct.h vt: drop unused struct vt_struct 2018-07-21 09:21:10 +02:00
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
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h Power management updates for 4.19-rc1 2018-08-14 13:12:24 -07:00
cpufeature.h
cpufreq.h
cpuhotplug.h RISC-V Updates for the 4.19 Merge Window 2018-08-19 09:56:38 -07:00
cpuidle.h
cpumask.h cpumask: make cpumask_next_wrap available without smp 2018-08-13 09:05:05 -07:00
cpuset.h
crash_core.h
crash_dump.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h lib/crc: Use consistent naming for CRC-32 polynomials 2018-07-27 19:04:33 +08:00
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h
dca.h
dcache.h Merge branches 'work.misc' and 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2018-08-13 21:28:25 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h delayacct: fix crash in delayacct_blkio_end() after delayacct init failure 2018-07-26 19:38:03 -07:00
delayed_call.h
dell-led.h
devcoredump.h
devfreq_cooling.h
devfreq-event.h
devfreq.h
device_cgroup.h
device-mapper.h
device.h Driver core patches for 4.19-rc1 2018-08-18 11:44:53 -07:00
devpts_fs.h
digsig.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 kcopyd: return void from dm_kcopyd_copy() 2018-07-31 17:33:21 -04:00
dm-region-hash.h
dma_remapping.h
dma-buf.h
dma-contiguous.h kernel/dma: remove unsupported gfp_mask parameter from dma_alloc_from_contiguous() 2018-08-17 16:20:32 -07:00
dma-debug.h
dma-direct.h
dma-direction.h PCI: Unify PCI and normal DMA direction definitions 2018-07-31 18:04:55 -05:00
dma-fence-array.h
dma-fence.h
dma-iommu.h
dma-mapping.h dma-mapping: relax warning for per-device areas 2018-07-25 13:32:58 +02:00
dma-noncoherent.h
dmaengine.h dmaengine: add a new helper dmaenginem_async_device_register 2018-07-30 10:50:22 +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
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h efi: Deduplicate efi_open_volume() 2018-07-22 14:13:43 +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
err.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h
ethtool.h
eventfd.h include/linux/eventfd.h: include linux/errno.h 2018-07-26 19:38:03 -07:00
eventpoll.h
evm.h
export.h
exportfs.h
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
file.h
filter.h bpf: fix redirect to map under tail calls 2018-08-17 15:56:23 -07:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
frame.h
freezer.h
frontswap.h
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h mpage: mpage_readpages() should submit IO as read-ahead 2018-08-17 16:20:29 -07:00
fscache-cache.h
fscache.h
fscrypt_notsupp.h
fscrypt_supp.h
fscrypt.h
fsi-sbefifo.h
fsi.h fsi: Add new central chardev support 2018-07-27 09:57:23 +10:00
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsl-diu-fb.h
fsldma.h
fsnotify_backend.h Merge branch 'akpm' (patches from Andrew) 2018-08-17 16:49:31 -07:00
fsnotify.h
ftrace_irq.h
ftrace.h tracing: Centralize preemptirq tracepoints and unify their usage 2018-07-31 11:32:27 -04:00
futex.h
fwnode.h ACPI: Convert ACPI reference args to generic fwnode reference args 2018-07-23 12:44:52 +02:00
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h block: Track DISCARD statistics and output them in stat and diskstat 2018-07-18 08:44:22 -06:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
glob.h
gnss.h
goldfish.h goldfish: Use dedicated macros instead of manual bit shifting 2018-08-02 10:24:51 +02:00
gpio_keys.h Input: gpio_keys - add missing include to gpio_keys.h 2018-07-18 17:27:10 +00:00
gpio-pxa.h
gpio.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 Merge branch 'for-4.19/multitouch-multiaxis' into for-linus 2018-08-20 18:09:06 +02:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hmm.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
huge_mm.h
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h mm/hugetlb: remove gigantic page support for HIGHMEM 2018-08-17 16:20:32 -07:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind() 2018-08-02 10:20:59 +02:00
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-pxa.h
i2c-smbus.h
i2c.h i2c: smbus: add unlocked __i2c_smbus_xfer variant 2018-07-20 23:51:37 +02:00
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.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_frad.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2018-08-15 10:25:26 -07:00
imx-media.h
in6.h
in.h
inet_diag.h
inet.h
inetdevice.h route: add support for directed broadcast forwarding 2018-07-29 12:37:06 -07:00
init_ohci1394_dma.h
init_task.h
init.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h Revert "iommu/vt-d: Clean up pasid quirk for pre-production devices" 2018-07-20 13:55:56 +02:00
intel-pti.h
intel-svm.h
interrupt.h
interval_tree_generic.h
interval_tree.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iomap.h
iommu-helper.h
iommu.h
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc_namespace.h
ipc.h
ipmi_smi.h
ipmi-fru.h
ipmi.h
ipv6_route.h
ipv6.h
irq_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irq.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h
irqflags.h tracing: Partial revert of "tracing: Centralize preemptirq tracepoints and unify their usage" 2018-08-10 15:11:25 -04:00
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
iversion.h
jbd2.h
jhash.h
jiffies.h jiffies: add utility function to calculate delta in ms 2018-08-16 19:36:55 +02:00
journal-head.h
joystick.h Input: stop telling users to snail-mail Vojtech 2018-07-26 17:04:37 -07:00
jump_label_ratelimit.h
jump_label.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan.h kernel/memremap, kasan: make ZONE_DEVICE with work with KASAN 2018-08-17 16:20:30 -07:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel_stat.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kernfs.h kernfs: allow creating kernfs objects with arbitrary uid/gid 2018-07-20 23:44:35 -07:00
kexec.h
key-type.h
key.h
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h Driver core patches for 4.19-rc1 2018-08-18 11:44:53 -07:00
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h mm, oom: distinguish blockable mode for mmu notifiers 2018-08-22 10:52:44 -07:00
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-lm3530.h
leds_pwm.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h
libata.h SCSI misc on 20180815 2018-08-15 22:06:26 -07:00
libfdt_env.h
libfdt.h
libgcc.h
libnvdimm.h
libps2.h
license.h
lightnvm.h
linkage.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h mm/list_lru: introduce list_lru_shrink_walk_irq() 2018-08-17 16:20:32 -07:00
list_nulls.h
list_sort.h
list.h
livepatch.h
llc.h
llist.h
lockdep.h tracing: Partial revert of "tracing: Centralize preemptirq tracepoints and unify their usage" 2018-08-10 15:11:25 -04:00
lockref.h
log2.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2018-08-15 10:25:26 -07:00
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
math64.h
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.h
mei_cl_bus.h
mem_encrypt.h
memblock.h docs/mm: memblock: add kernel-doc description for memblock types 2018-08-02 12:17:28 -06:00
memcontrol.h mm/list_lru.c: set bit in memcg shrinker bitmap on first list_lru item appearance 2018-08-17 16:20:31 -07:00
memfd.h
memory_hotplug.h
memory.h
mempolicy.h
mempool.h
memremap.h
memstick.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate_mode.h
migrate.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h
mm_types_task.h
mm_types.h powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
mm-arch-hooks.h
mm.h mm/sparse: delete old sparse_init and enable new one 2018-08-17 16:20:32 -07:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mm, oom: distinguish blockable mode for mmu notifiers 2018-08-22 10:52:44 -07:00
mmzone.h
mnt_namespace.h
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mpls_iptunnel.h
mpls.h
mroute6.h
mroute_base.h
mroute.h
msdos_fs.h
msg.h
msi.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
net_dim.h
net.h net: remove bogus RCU annotations on socket.wq 2018-07-31 12:40:22 -07:00
netdev_features.h
netdevice.h net: Provide stub for __netif_set_xps_queue if there is no CONFIG_XPS 2018-08-10 10:22:22 -07:00
netfilter_bridge.h netfilter: bridge: Expose nf_tables bridge hook priorities through uapi 2018-08-03 21:15:09 +02:00
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink.h netlink: do not store start function in netlink_cb 2018-07-24 10:04:49 -07:00
netpoll.h
nfs3.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfs.h
nfsacl.h
nl802154.h
nls.h
nmi.h
node.h mm/memory_hotplug.c: make register_mem_sect_under_node() a callback of walk_memory_range() 2018-08-17 16:20:29 -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.h nvme.h: add support for ns write protect definitions 2018-08-08 11:55:45 +02:00
nvmem-consumer.h
nvmem-provider.h
nvram.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
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h mailbox/omap: switch to SPDX license identifier 2018-08-03 18:57:15 +05:30
omapfb.h
once.h
oom.h mm, oom: distinguish blockable mode for mmu notifiers 2018-08-22 10:52:44 -07:00
openvswitch.h
oprofile.h
osq_lock.h
overflow.h overflow.h: Add arithmetic shift helper 2018-08-08 09:47:26 -06:00
oxu210hp.h
padata.h
page_counter.h
page_ext.h mm/page_ext.c: constify lookup_page_ext() argument 2018-08-17 16:20:28 -07:00
page_idle.h
page_owner.h
page_ref.h
page-flags-layout.h
page-flags.h
page-isolation.h
pageblock-flags.h
pagemap.h
pagevec.h
parman.h
parport_pc.h
parport.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h PCI: hotplug: Demidlayer registration with the core 2018-07-23 17:04:13 -05:00
pci_ids.h Merge branch 'pci/switchtec' 2018-08-15 14:59:03 -05:00
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma-compat.h PCI: Unify PCI and normal DMA direction definitions 2018-07-31 18:04:55 -05:00
pci-dma.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h pci-epf-test/pci_endpoint_test: Add MSI-X support 2018-07-19 11:46:45 +01:00
pci-epf.h PCI: endpoint: Add MSI-X interfaces 2018-07-19 11:34:23 +01:00
pci.h pci-v4.19-changes 2018-08-16 09:21:54 -07:00
pda_power.h
pe.h
percpu_counter.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
perf_event.h Merge branch 'perf/urgent' into perf/core, to pick up fixes 2018-07-25 11:47:02 +02:00
perf_regs.h
personality.h
pfn_t.h
pfn.h
phonet.h
phy_fixed.h
phy_led_triggers.h
phy.h net: phy: add helper phy_polling_mode 2018-07-25 13:41:22 -07:00
phylink.h phylink: add helper for configuring 2500BaseX modes 2018-08-09 11:08:19 -07:00
pid_namespace.h
pid.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.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
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
pps-gpio.h
pr.h
preempt.h tracing: Centralize preemptirq tracepoints and unify their usage 2018-07-31 11:32:27 -04:00
prefetch.h
prime_numbers.h
printk.h Merge branch 'for-4.19-nmi' into for-linus 2018-08-14 13:36:15 +02:00
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h
psci.h
psp-sev.h
pstore_ram.h
pstore.h
pti.h x86/mm/pti: Introduce pti_finalize() 2018-07-20 01:11:45 +02:00
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
pxa168_eth.h
qcom_scm.h firmware: qcom: scm: add a dummy qcom_scm_assign_mem() 2018-07-21 13:34:09 -05:00
qcom-geni-se.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h random: Make crng state queryable 2018-08-02 17:33:06 -04:00
range.h
ras.h
ratelimit.h
rational.h
rbtree_augmented.h
rbtree_latch.h
rbtree.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate_wait.h
rcupdate.h
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h
regmap.h regmap: Support non-incrementing registers 2018-08-09 11:15:06 +01:00
regset.h
relay.h
remoteproc.h
reservation.h
reset-controller.h
reset.h
resource_ext.h
resource.h
restart_block.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h ring-buffer: Make ring_buffer_record_is_set_on() return bool 2018-08-01 21:09:50 -04:00
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 rtc: remove struct rtc_task 2018-08-02 17:16:05 +02:00
rtmutex.h locking/rtmutex: Allow specifying a subclass for nested locking 2018-07-25 11:22:19 +02:00
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem-spinlock.h
rwsem.h
s3c_adc_battery.h
sa11x0-dma.h
sbitmap.h
scatterlist.h
scc.h
sched_clock.h sched/clock: Move sched clock initialization and merge with generic clock 2018-07-20 00:02:43 +02:00
sched.h mm: introduce CONFIG_MEMCG_KMEM as combination of CONFIG_MEMCG && !CONFIG_SLOB 2018-08-17 16:20:30 -07:00
scif.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2018-08-15 10:25:26 -07:00
sed-opal.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
seg6.h
selection.h vt: selection: take screen contents from uniscr if available 2018-07-21 09:18:27 +02:00
selinux.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_pnx8xxx.h
serial_s3c.h
serial_sci.h serial: sh-sci: Remove SCIx_RZ_SCIFA_REGTYPE 2018-08-02 10:07:09 +02:00
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
sha256.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h mm: struct shrinker: make flags of unsigned type 2018-08-22 10:52:43 -07:00
signal_types.h
signal.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2018-08-13 10:07:23 -07:00
slab_def.h
slab.h mm: introduce CONFIG_MEMCG_KMEM as combination of CONFIG_MEMCG && !CONFIG_SLOB 2018-08-17 16:20:30 -07:00
slimbus.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
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 ila: make lockdep happy again 2018-08-16 12:14:42 -07:00
splice.h
spmi.h
sram.h
srcu.h srcu: Add notrace variant of srcu_dereference 2018-07-26 10:50:16 -04:00
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
stm.h
stmmac.h net: stmmac: Add XGMAC 2.10 HWIF entry 2018-08-09 11:16:28 -07:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string_helpers.h
string.h
stringhash.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h PM / reboot: Eliminate race between reboot and suspend 2018-08-06 12:35:20 +02:00
svga.h
sw842.h
swab.h
swait.h
swap_cgroup.h
swap_slots.h
swap.h mm, swap, get_swap_pages: use entry_size instead of cluster in parameter 2018-08-22 10:52:44 -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 arm64 updates for 4.19 2018-08-14 16:39:13 -07:00
syscore_ops.h
sysctl.h
sysfs.h Driver core patches for 4.19-rc1 2018-08-18 11:44:53 -07:00
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h t10-pi: provide empty t10_pi_complete() for !CONFIG_BLK_DEV_INTEGRITY 2018-07-31 09:10:26 -06:00
task_io_accounting_ops.h
task_io_accounting.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h tcp: add stat of data packet reordering events 2018-08-01 09:56:10 -07:00
tee_drv.h
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h
thinkpad_acpi.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.h
timecounter.h
timekeeper_internal.h
timekeeping32.h
timekeeping.h This was a moderately busy cycle for docs, with the usual collection of 2018-08-14 14:29:31 -07:00
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 tpm: Implement tpm_default_chip() to find a TPM chip 2018-07-28 17:03:11 +03:00
trace_clock.h
trace_events.h
trace_seq.h
trace.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h tracepoint: Make rcuidle tracepoint callers use SRCU 2018-07-30 19:13:03 -04: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
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio_driver.h
uio.h
umh.h
uprobes.h Uprobe: Additional argument arch_uprobe to uprobe_write_opcode() 2018-08-13 20:08:33 -04:00
usb_usual.h
usb.h
usbdevice_fs.h
user_namespace.h
user-return-notifier.h
user.h
userfaultfd_k.h
util_macros.h
uts.h
utsname.h
uuid.h
uwb.h
vbox_utils.h
verification.h Replace magic for trusting the secondary keyring with #define 2018-08-16 09:57:20 -07:00
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
via_i2c.h
via-core.h
via-gpio.h
via.h
videodev2.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h virtio: Make vp_set_vq_affinity() take a mask. 2018-08-11 12:02:18 -07:00
virtio_console.h
virtio_net.h
virtio_ring.h
virtio_vsock.h
virtio.h
visorbus.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h mm, vmacache: hash addresses based on pmd 2018-08-17 16:20:32 -07:00
vmalloc.h
vme.h
vmpressure.h
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
wanrouter.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h
writeback.h
ww_mutex.h
xarray.h
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zutil.h