Michal Hocko
aac4536355
mm, oom: introduce oom reaper
...
This patch (of 5):
This is based on the idea from Mel Gorman discussed during LSFMM 2015
and independently brought up by Oleg Nesterov.
The OOM killer currently allows to kill only a single task in a good
hope that the task will terminate in a reasonable time and frees up its
memory. Such a task (oom victim) will get an access to memory reserves
via mark_oom_victim to allow a forward progress should there be a need
for additional memory during exit path.
It has been shown (e.g. by Tetsuo Handa) that it is not that hard to
construct workloads which break the core assumption mentioned above and
the OOM victim might take unbounded amount of time to exit because it
might be blocked in the uninterruptible state waiting for an event (e.g.
lock) which is blocked by another task looping in the page allocator.
This patch reduces the probability of such a lockup by introducing a
specialized kernel thread (oom_reaper) which tries to reclaim additional
memory by preemptively reaping the anonymous or swapped out memory owned
by the oom victim under an assumption that such a memory won't be needed
when its owner is killed and kicked from the userspace anyway. There is
one notable exception to this, though, if the OOM victim was in the
process of coredumping the result would be incomplete. This is
considered a reasonable constrain because the overall system health is
more important than debugability of a particular application.
A kernel thread has been chosen because we need a reliable way of
invocation so workqueue context is not appropriate because all the
workers might be busy (e.g. allocating memory). Kswapd which sounds
like another good fit is not appropriate as well because it might get
blocked on locks during reclaim as well.
oom_reaper has to take mmap_sem on the target task for reading so the
solution is not 100% because the semaphore might be held or blocked for
write but the probability is reduced considerably wrt. basically any
lock blocking forward progress as described above. In order to prevent
from blocking on the lock without any forward progress we are using only
a trylock and retry 10 times with a short sleep in between. Users of
mmap_sem which need it for write should be carefully reviewed to use
_killable waiting as much as possible and reduce allocations requests
done with the lock held to absolute minimum to reduce the risk even
further.
The API between oom killer and oom reaper is quite trivial.
wake_oom_reaper updates mm_to_reap with cmpxchg to guarantee only
NULL->mm transition and oom_reaper clear this atomically once it is done
with the work. This means that only a single mm_struct can be reaped at
the time. As the operation is potentially disruptive we are trying to
limit it to the ncessary minimum and the reaper blocks any updates while
it operates on an mm. mm_struct is pinned by mm_count to allow parallel
exit_mmap and a race is detected by atomic_inc_not_zero(mm_users).
Signed-off-by: Michal Hocko <mhocko@suse.com>
Suggested-by: Oleg Nesterov <oleg@redhat.com>
Suggested-by: Mel Gorman <mgorman@suse.de>
Acked-by: Mel Gorman <mgorman@suse.de>
Acked-by: David Rientjes <rientjes@google.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Andrea Argangeli <andrea@kernel.org>
Cc: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-03-25 16:37:42 -07:00
..
amba
bcma
bcma: move parallel flash support to separated file
2016-03-07 14:41:08 +02:00
byteorder
can
ceph
clk
The clk changes for this release cycle are mostly dominated by
2016-03-23 06:06:45 -07:00
crush
decompress
dma
extcon
fpga
fsl
powerpc/rcpm: add RCPM driver
2016-03-04 23:50:27 -06:00
gpio
hsi
i2c
iio
input
irqchip
isdn
lockd
mfd
MMC core:
2016-03-21 14:35:52 -07:00
mlx4
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2016-03-19 10:05:34 -07:00
mlx5
Round two of 4.6 merge window patches
2016-03-22 15:48:44 -07:00
mmc
mtd
mtd: nand: don't select chip in nand_chip's block_bad op
2016-03-10 10:52:21 -08:00
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf
phy
pinctrl
platform_data
MTD updates for v4.6
2016-03-24 19:57:15 -07:00
power
power supply and reset changes for the v4.6 series
2016-03-17 12:50:55 -07:00
qed
qed/qede: Add infrastructure support for hardware GRO
2016-03-07 15:01:39 -05:00
raid
regulator
Merge remote-tracking branches 'regulator/topic/discharge', 'regulator/topic/fan53555', 'regulator/topic/gpio', 'regulator/topic/hi655x' and 'regulator/topic/lp872x' into regulator-next
2016-03-13 15:19:35 +07:00
reset
rtc
sched
mm: move max_map_count bits into mm.h
2016-03-17 15:09:34 -07:00
soc
Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration
2016-03-23 06:09:15 -07:00
spi
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2016-03-17 21:51:52 -07:00
ssb
sunrpc
Various bugfixes, a RDMA update from Chuck Lever, and support for a new
2016-03-24 10:41:00 -07:00
ulpi
unaligned
include/linux/unaligned: force inlining of byteswap operations
2016-03-17 15:09:34 -07:00
usb
USB: core: let USB device know device node
2016-03-05 12:05:01 -08:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h
acpi_dma.h
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arm-cci.h
arm-smccc.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_suni.h
atm_tcp.h
atmdev.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atmel_serial.h
tty/serial: at91: fix bad offset for UART timeout register
2016-03-07 16:11:14 -08:00
atmel_tc.h
atomic.h
powerpc updates for 4.6
2016-03-19 15:38:41 -07:00
attribute_container.h
audit.h
auto_dev-ioctl.h
autofs4: fix string.h include in auto_dev-ioctl.h
2016-03-15 16:55:16 -07:00
auto_fs.h
autofs4: coding style fixes
2016-03-15 16:55:16 -07:00
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_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
bfin_mac.h
binfmts.h
bio.h
block: don't optimize for non-cloned bio in bio_get_last_bvec()
2016-03-12 14:12:10 -07:00
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk-cgroup.h
blk-mq.h
blk-mq: Use proper cpumask iterator
2016-03-20 09:34:02 -06:00
blk_types.h
blkdev.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2016-03-19 18:52:29 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpf.h
bpf: convert stackmap to pre-allocation
2016-03-08 15:28:31 -05:00
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bufferhead: force inlining of buffer head flag operations
2016-03-17 15:09:34 -07:00
bug.h
c2port.h
cache.h
cacheinfo.h
capability.h
cred/userns: define current_user_ns() as a function
2016-03-22 15:36:02 -07:00
cb710.h
cciss_ioctl.h
ccp.h
crypto: ccp - CCP versioning support
2016-03-11 21:19:16 +08:00
cdev.h
cdrom.h
cfag12864b.h
cgroup-defs.h
cgroup: ignore css_sets associated with dead cgroups during migration
2016-03-16 13:31:46 -07:00
cgroup.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h
clk.h
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
compaction.h
mm, compaction: introduce kcompactd
2016-03-17 15:09:34 -07:00
compat.h
compat: add in_compat_syscall to ask whether we're in a compat syscall
2016-03-22 15:36:02 -07:00
compiler-clang.h
compiler-gcc.h
compiler-intel.h
compiler.h
Merge commit 'fixes.2015.02.23a' into core/rcu
2016-03-15 09:01:06 +01:00
completion.h
component.h
concap.h
configfs.h
configfs: switch ->default groups to a linked list
2016-03-06 16:11:24 +01:00
connector.h
console.h
console_struct.h
consolemap.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
coresight-pmu.h
coresight.h
count_zeros.h
cper.h
cpu.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq-dt.h
cpufreq.h
Merge branch 'pm-cpufreq-governor' into pm-cpufreq
2016-03-10 20:46:03 +01:00
cpuhotplug.h
cpuidle.h
cpumask.h
cpumask: remove incorrect information from comment
2016-03-22 15:36:02 -07:00
cpuset.h
cputime.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
cred.h
cred/userns: define current_user_ns() as a function
2016-03-22 15:36:02 -07:00
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h
dca.h
dcache.h
Merge tag 'for-f2fs-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
2016-03-21 11:03:02 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
delayed_call.h
dell-led.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h
dm snapshot: disallow the COW and origin devices from being identical
2016-03-10 17:12:09 -05:00
device.h
The clk changes for this release cycle are mostly dominated by
2016-03-23 06:06:45 -07:00
device_cgroup.h
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-attrs.h
dma-buf.h
dma-buf, drm, ion: Propagate error code from dma_buf_start_cpu_access()
2016-03-19 11:03:49 +01:00
dma-contiguous.h
dma-debug.h
dma-direction.h
dma-iommu.h
dma-mapping.h
virtio/vhost: new features, performance improvements, cleanups
2016-03-20 13:28:18 -07:00
dma_remapping.h
dmaengine.h
Merge branch 'topic/pl330' into for-linus
2016-03-14 11:18:12 +05:30
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds1286.h
ds2782_battery.h
ds17287rtc.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
Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-03-20 18:58:18 -07: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
errqueue.h
etherdevice.h
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
mm: fault-inject take over bootstrap kmem_cache check
2016-03-15 16:55:16 -07:00
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fence.h
Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
2016-03-25 08:48:31 -07:00
file.h
filter.h
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
timer: convert timer_slack_ns from unsigned long to u64
2016-03-17 15:09:34 -07:00
frontswap.h
fs.h
fs/coredump: prevent fsuid=0 dumps into user-controlled directories
2016-03-22 15:36:02 -07:00
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypto.h
Merge tag 'for-f2fs-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
2016-03-21 11:03:02 -07:00
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h
untangle fsnotify_d_instantiate() a bit
2016-03-14 00:17:28 -04:00
fsnotify_backend.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2016-03-19 18:52:29 -07:00
ftrace.h
ftrace_irq.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
mm: exclude ZONE_DEVICE from GFP_ZONE_TABLE
2016-03-17 15:09:34 -07:00
glob.h
goldfish.h
gpio-fan.h
gpio-pxa.h
gpio.h
gpio_keys.h
gpio_mouse.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
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
timer: convert timer_slack_ns from unsigned long to u64
2016-03-17 15:09:34 -07:00
htcpld.h
htirq.h
huge_mm.h
powerpc updates for 4.6
2016-03-19 15:38:41 -07:00
hugetlb.h
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-mux-gpio.h
i2c-mux-pinctrl.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-xiic.h
i2c.h
i7300_idle.h
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h
ieee802154.h
if_arp.h
if_bridge.h
bridge: allow zero ageing time
2016-03-11 14:58:58 -05:00
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_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
in.h
in6.h
inet.h
inet_diag.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel-svm.h
intel_pmic_gpio.h
interrupt.h
x86/ACPI/PCI: Recognize that Interrupt Line 255 means "not connected"
2016-03-09 01:23:35 +01:00
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io.h
memremap: add MEMREMAP_WC flag
2016-03-22 15:36:02 -07:00
ioc3.h
ioc4.h
iocontext.h
iommu-common.h
iommu-helper.h
iommu.h
iopoll.h
ioport.h
libnvdimm for 4.6
2016-03-16 17:45:56 -07:00
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6_route.h
irq.h
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-03-15 12:48:48 -07:00
irq_cpustat.h
irq_poll.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h
Staging driver patches for 4.6-rc1
2016-03-17 22:13:41 -07:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft: Add prefix-len attr and display netmask
2016-03-14 10:30:57 -04:00
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan.h
kasan: add functions to clear stack poison
2016-03-09 15:43:42 -08:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kernel: add kcov code coverage
2016-03-22 15:36:02 -07:00
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h
Nothing major this round. Mostly small clean ups and fixes.
2016-03-24 10:52:25 -07:00
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h
key-type.h
key.h
keyboard.h
kfifo.h
kfifo: fix sparse complaints
2016-03-22 15:36:02 -07:00
kgdb.h
khugepaged.h
klist.h
kmemcheck.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h
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-bd2802.h
leds-lp3944.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h
leds: core: avoid error message when a USB LED device is unplugged
2016-03-14 09:22:20 +01:00
leds_pwm.h
lglock.h
lguest.h
lguest_launcher.h
libata.h
libfdt.h
libfdt_env.h
libnvdimm.h
nfit: disable userspace initiated ars during scrub
2016-03-05 12:24:06 -08:00
libps2.h
license.h
lightnvm.h
nvme: lightnvm: return ppa completion status
2016-03-18 18:10:38 -07:00
linkage.h
linux_logo.h
lis3lv02d.h
list.h
list: kill list_force_poison()
2016-03-09 15:43:42 -08:00
list_bl.h
include/linux/list_bl.h: use bool instead of int for boolean functions
2016-03-17 15:09:34 -07:00
list_lru.h
list_nulls.h
list_sort.h
livepatch.h
livepatch/module: remove livepatch module notifier
2016-03-17 09:45:10 +01:00
llc.h
llist.h
lockdep.h
lockref.h
log2.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h
lz4.h
lzo.h
m48t86.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h
mbus.h
bus: mvebu-mbus: provide api for obtaining IO and DRAM window information
2016-03-14 12:19:46 -04:00
mc6821.h
mc146818rtc.h
mcb.h
mdio-bitbang.h
mdio-mux.h
mdio.h
mei_cl_bus.h
memblock.h
memcontrol.h
mm: workingset: make shadow node shrinker memcg aware
2016-03-17 15:09:34 -07:00
memory.h
Char/Misc patches for 4.6-rc1
2016-03-17 13:47:50 -07:00
memory_hotplug.h
mm/compaction: speed up pageblock_pfn_to_page() when zone is contiguous
2016-03-15 16:55:16 -07:00
mempolicy.h
mempool.h
memremap.h
memstick.h
mg_disk.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate.h
mm, page_owner: track and print last migrate reason
2016-03-15 16:55:16 -07:00
migrate_mode.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
isdn: Use ktime_t instead of 'struct timeval'
2016-03-20 16:47:13 -04:00
mm-arch-hooks.h
mm.h
mm, oom: introduce oom reaper
2016-03-25 16:37:42 -07:00
mm_inline.h
mm_types.h
mman.h
mmdebug.h
mm, debug: move bad flags printing to bad_page()
2016-03-15 16:55:16 -07:00
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h
mm: scale kswapd watermarks in proportion to memory
2016-03-17 15:09:34 -07:00
mnt_namespace.h
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
namei: teach lookup_slow() to skip revalidate
2016-03-14 00:15:46 -04:00
nd.h
libnvdimm: async notification support
2016-03-05 12:24:06 -08:00
net.h
net: Make sock_alloc exportable
2016-03-09 16:36:13 -05:00
netdev_features.h
netdevice.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-03-23 23:25:14 -07:00
netfilter.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h
nfs4.h: add SCSI layout definitions
2016-03-17 14:57:16 -04:00
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h
x86/apic: Remove declaration of unused hw_nmi_is_cpu_stuck
2016-03-23 12:34:17 +01:00
node.h
nodemask.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
nvme.h
nvmem-consumer.h
nvmem-provider.h
nvram.h
of.h
DeviceTree updates for 4.6:
2016-03-19 15:15:07 -07:00
of_address.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_mtd.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
oid_registry.h
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h
openvswitch.h
oprofile.h
osq_lock.h
oxu210hp.h
padata.h
page-flags-layout.h
mm: exclude ZONE_DEVICE from GFP_ZONE_TABLE
2016-03-17 15:09:34 -07:00
page-flags.h
include/linux/page-flags.h: force inlining of selected page flag modifications
2016-03-17 15:09:34 -07:00
page-isolation.h
page_counter.h
page_ext.h
mm, page_owner: track and print last migrate reason
2016-03-15 16:55:16 -07:00
page_idle.h
page_owner.h
mm, page_owner: dump page owner info from dump_page()
2016-03-15 16:55:16 -07:00
page_ref.h
mm/page_ref: add tracepoint to track down page reference manipulation
2016-03-17 15:09:34 -07:00
pageblock-flags.h
pagemap.h
mm: introduce page reference manipulation functions
2016-03-17 15:09:34 -07:00
pagevec.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma-compat.h
PCI: Consolidate PCI DMA constants and interfaces in linux/pci-dma-compat.h
2016-03-07 11:39:16 -06:00
pci-dma.h
pci.h
powerpc updates for 4.6
2016-03-19 15:38:41 -07:00
pci_hotplug.h
pci_ids.h
PCI: Add PCI_CLASS_SERIAL_USB_DEVICE definition
2016-03-15 08:52:28 -05:00
pcieport_if.h
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
percpu_ida.h
perf_event.h
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-03-24 10:02:14 -07:00
perf_regs.h
personality.h
pfn.h
pfn_t.h
phonet.h
phy.h
phy: remove documentation of removed members of phy_device structure
2016-03-13 22:11:43 -04:00
phy_fixed.h
phy: fixed: Fix removal of phys.
2016-03-14 15:43:11 -04:00
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
plist.h
pm-trace.h
pm.h
pm2301_charger.h
pm_clock.h
PM / clk: Add support for obtaining clocks from device-tree
2016-03-17 02:32:04 +01:00
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pmem.h
libnvdimm, pmem: clear poison on write
2016-03-09 15:15:32 -08:00
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
mm/page_poisoning.c: allow for zero poisoning
2016-03-15 16:55:16 -07:00
poll.h
timer: convert timer_slack_ns from unsigned long to u64
2016-03-17 15:09:34 -07:00
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
power_supply.h
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
pr.h
preempt.h
prefetch.h
printk.h
proc_fs.h
proc_ns.h
profile.h
projid.h
property.h
proportions.h
psci.h
pstore.h
pstore_ram.h
pstore: Add support for 64 Bit address space
2016-03-10 09:43:36 -08:00
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptrace.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qnx6_fs.h
quicklist.h
fix Christoph's email addresses
2016-03-17 15:09:34 -07:00
quota.h
quotaops.h
radix-tree.h
radix-tree,shmem: introduce radix_tree_iter_next()
2016-03-17 15:09:34 -07:00
raid_class.h
ramfs.h
random.h
range.h
ras.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rcu_sync.h
rculist.h
rcu: Add list_next_or_null_rcu
2016-03-09 16:36:13 -05:00
rculist_bl.h
rculist_nulls.h
rcupdate.h
Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-03-15 13:50:29 -07:00
rcutiny.h
rcutree.h
reboot.h
reciprocal_div.h
regmap.h
Merge remote-tracking branch 'regmap/topic/update-bits' into regmap-next
2016-03-05 21:30:41 +09:00
regset.h
relay.h
remoteproc.h
reservation.h
reset-controller.h
reset.h
resource.h
resource_ext.h
rfkill-regulator.h
rfkill.h
rhashtable.h
ring_buffer.h
rio.h
rapidio: add outbound window support
2016-03-22 15:36:02 -07:00
rio_drv.h
rapidio: add outbound window support
2016-03-22 15:36:02 -07:00
rio_ids.h
rio_mport_cdev.h
rapidio: add mport char device driver
2016-03-22 15:36:02 -07:00
rio_regs.h
rapidio: add query_mport operation
2016-03-22 15:36:02 -07:00
rmap.h
mm: make remove_migration_ptes() beyond mm/migration.c
2016-03-17 15:09:34 -07:00
rmi.h
Input: synaptics-rmi4 - add SPI transport driver
2016-03-10 16:04:24 -08:00
rndis.h
root_dev.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h
rtc: Add functions to set and read rtc offset
2016-03-14 17:08:15 +01:00
rtmutex.h
rtnetlink.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
scc.h
sched.h
sched: add schedule_timeout_idle()
2016-03-25 16:37:42 -07:00
sched_clock.h
scif.h
scpi_protocol.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux.h
sem.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
seqno-fence.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
sfi.h
sfi_acpi.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-03-08 12:34:12 -05:00
slab.h
slub: convert SLAB_DEBUG_FREE to SLAB_CONSISTENCY_CHECKS
2016-03-15 16:55:16 -07:00
slab_def.h
mm/slab: alternative implementation for DEBUG_SLAB_LEAK
2016-03-15 16:55:16 -07:00
slub_def.h
mm/slub: support left redzone
2016-03-15 16:55:16 -07:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
kcm: Kernel Connection Multiplexor module
2016-03-09 16:36:14 -05:00
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
spmi.h
srcu.h
ssbi.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stm.h
stmmac.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-03-08 12:34:12 -05:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
lib: move strtobool() to kstrtobool()
2016-03-17 15:09:34 -07:00
string_helpers.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swait.h
swap.h
swap_cgroup.h
swapfile.h
swapops.h
swiotlb.h
sxgbe_platform.h
synclink.h
sys.h
sys_soc.h
syscalls.h
syscore_ops.h
sysctl.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tcp: Add RFC4898 tcpEStatsPerfDataSegsOut/In
2016-03-14 14:55:26 -04:00
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
Thermal: Ignore invalid trip points
2016-03-18 14:10:57 +08:00
thinkpad_acpi.h
thread_info.h
threads.h
ti_wilink_st.h
tick.h
param: convert some "on"/"off" users to strtobool
2016-03-17 15:09:34 -07:00
tifm.h
timb_dma.h
timb_gpio.h
time.h
time64.h
timecounter.h
timekeeper_internal.h
timekeeping.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
trace_clock.h
trace_events.h
Nothing major this round. Mostly small clean ups and fixes.
2016-03-24 10:52:25 -07:00
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoints: move trace_print_flags definitions to tracepoint-defs.h
2016-03-15 16:55:16 -07:00
tracepoint.h
tracing: Fix check for cpu online when event is disabled
2016-03-09 11:58:41 -05:00
transport_class.h
tsacct_kern.h
tty.h
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
u64_stats_sync.h
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uinput.h
uio.h
uio_driver.h
uprobes.h
usb.h
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
util_macros.h
uts.h
utsname.h
uuid.h
uwb.h
verify_pefile.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_mmio.h
virtio_ring.h
vlynq.h
vm_event_item.h
thp, vmstats: count deferred split events
2016-03-17 15:09:34 -07:00
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h
watchdog: Add support for minimum time between heartbeats
2016-03-16 21:11:19 +01:00
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h
ww_mutex.h
xattr.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zutil.h