Mel Gorman
72b252aed5
mm: send one IPI per CPU to TLB flush all entries after unmapping pages
...
An IPI is sent to flush remote TLBs when a page is unmapped that was
potentially accesssed by other CPUs. There are many circumstances where
this happens but the obvious one is kswapd reclaiming pages belonging to a
running process as kswapd and the task are likely running on separate
CPUs.
On small machines, this is not a significant problem but as machine gets
larger with more cores and more memory, the cost of these IPIs can be
high. This patch uses a simple structure that tracks CPUs that
potentially have TLB entries for pages being unmapped. When the unmapping
is complete, the full TLB is flushed on the assumption that a refill cost
is lower than flushing individual entries.
Architectures wishing to do this must give the following guarantee.
If a clean page is unmapped and not immediately flushed, the
architecture must guarantee that a write to that linear address
from a CPU with a cached TLB entry will trap a page fault.
This is essentially what the kernel already depends on but the window is
much larger with this patch applied and is worth highlighting. The
architecture should consider whether the cost of the full TLB flush is
higher than sending an IPI to flush each individual entry. An additional
architecture helper called flush_tlb_local is required. It's a trivial
wrapper with some accounting in the x86 case.
The impact of this patch depends on the workload as measuring any benefit
requires both mapped pages co-located on the LRU and memory pressure. The
case with the biggest impact is multiple processes reading mapped pages
taken from the vm-scalability test suite. The test case uses NR_CPU
readers of mapped files that consume 10*RAM.
Linear mapped reader on a 4-node machine with 64G RAM and 48 CPUs
4.2.0-rc1 4.2.0-rc1
vanilla flushfull-v7
Ops lru-file-mmap-read-elapsed 159.62 ( 0.00%) 120.68 ( 24.40%)
Ops lru-file-mmap-read-time_range 30.59 ( 0.00%) 2.80 ( 90.85%)
Ops lru-file-mmap-read-time_stddv 6.70 ( 0.00%) 0.64 ( 90.38%)
4.2.0-rc1 4.2.0-rc1
vanilla flushfull-v7
User 581.00 611.43
System 5804.93 4111.76
Elapsed 161.03 122.12
This is showing that the readers completed 24.40% faster with 29% less
system CPU time. From vmstats, it is known that the vanilla kernel was
interrupted roughly 900K times per second during the steady phase of the
test and the patched kernel was interrupts 180K times per second.
The impact is lower on a single socket machine.
4.2.0-rc1 4.2.0-rc1
vanilla flushfull-v7
Ops lru-file-mmap-read-elapsed 25.33 ( 0.00%) 20.38 ( 19.54%)
Ops lru-file-mmap-read-time_range 0.91 ( 0.00%) 1.44 (-58.24%)
Ops lru-file-mmap-read-time_stddv 0.28 ( 0.00%) 0.47 (-65.34%)
4.2.0-rc1 4.2.0-rc1
vanilla flushfull-v7
User 58.09 57.64
System 111.82 76.56
Elapsed 27.29 22.55
It's still a noticeable improvement with vmstat showing interrupts went
from roughly 500K per second to 45K per second.
The patch will have no impact on workloads with no memory pressure or have
relatively few mapped pages. It will have an unpredictable impact on the
workload running on the CPU being flushed as it'll depend on how many TLB
entries need to be refilled and how long that takes. Worst case, the TLB
will be completely cleared of active entries when the target PFNs were not
resident at all.
[sasha.levin@oracle.com: trace tlb flush after disabling preemption in try_to_unmap_flush]
Signed-off-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Cc: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-04 16:54:41 -07:00
..
amba
uart: pl011: Add support to ZTE ZX296702 uart
2015-08-04 22:07:26 -07:00
bcma
bcma: switch GPIO portions to use GPIOLIB_IRQCHIP
2015-08-18 09:08:47 +03:00
byteorder
can
can: replace timestamp as unique skb attribute
2015-07-12 21:13:22 +02:00
ceph
libceph: enable ceph in a non-default network namespace
2015-07-09 20:30:34 +03:00
clk
ARM: SoC driver updates for v4.3
2015-09-01 13:00:04 -07:00
crush
crush: sync up with userspace
2015-06-25 11:49:31 +03:00
decompress
dma
extcon
fsl /bestcomm
gpio
gpiolib: add description for gpio irqchip fields in struct gpio_chip
2015-08-26 09:29:50 +02:00
hsi
i2c
mfd: twl4030-power: Fix pmic for boards that need AC charger disabled
2015-06-22 12:25:04 +01:00
iio
iio: Add inverse unit conversion macros
2015-08-08 12:50:40 +01:00
input
Input: improve parsing OF parameters for touchscreens
2015-06-25 14:45:46 -07:00
irqchip
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
2015-09-03 16:55:55 -07:00
isdn
lockd
mfd
ARM: SoC platform updates for v4.3
2015-09-01 12:18:40 -07:00
mlx4
net/mlx4_en: Add support for hardware accelerated 802.1ad vlan
2015-07-27 15:00:37 -07:00
mlx5
net/mlx5e: Support ethtool get/set_pauseparam
2015-08-17 15:51:36 -07:00
mmc
mmc: mediatek: Add Mediatek MMC driver
2015-06-18 09:20:48 +02:00
mtd
mtd: nand: Fix NAND_USE_BOUNCE_BUFFER flag conflict
2015-07-07 13:03:25 -07:00
netfilter
netfilter: nf_conntrack: make nf_ct_zone_dflt built-in
2015-09-02 16:32:56 -07:00
netfilter_arp
netfilter_bridge
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2015-06-23 14:08:54 -07:00
netfilter_ipv4
netfilter_ipv6
perf
arm: perf: factor arm_pmu core out to drivers
2015-07-31 15:01:14 +01:00
phy
pinctrl
platform_data
This is the bulk of GPIO changes for the v4.3 kernel cycle:
2015-09-04 10:07:45 -07:00
power
raid
regulator
Merge remote-tracking branches 'regulator/topic/qcom-smd', 'regulator/topic/qcom-spmi', 'regulator/topic/rk808', 'regulator/topic/stub' and 'regulator/topic/tol' into regulator-next
2015-08-30 14:40:11 +01:00
reset
rtc
sched
timer: Reduce timer migration overhead if disabled
2015-06-19 15:18:28 +02:00
soc
ARM: SoC driver updates for v4.3
2015-09-01 13:00:04 -07:00
spi
spi: expose spi_master and spi_device statistics via sysfs
2015-07-07 13:33:23 +01:00
ssb
MIPS: BCM47xx: Extract info about et2 interface
2015-06-21 21:52:24 +02:00
sunrpc
NFS client updates for Linux 4.2
2015-07-02 11:32:23 -07:00
ulpi
unaligned
usb
Revert "usb: interface authorization: Introduces the default interface authorization"
2015-08-18 09:58:45 -07:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h
Merge branches 'acpi-pci', 'acpi-soc', 'acpi-ec' and 'acpi-osl'
2015-09-01 03:41:19 +02:00
acpi_dma.h
acpi_irq.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_bl.h
arcdevice.h
arm-cci.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
Revert "libata: Implement NCQ autosense"
2015-08-03 12:01:54 -04:00
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: add support to FIFOs
2015-07-23 18:00:42 -07:00
atmel_tc.h
atomic.h
locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations
2015-08-12 11:58:59 +02:00
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
average: remove out-of-line implementation
2015-08-20 14:10:23 -07:00
b1pcmcia.h
backing-dev-defs.h
writeback: don't embed root bdi_writeback_congested in bdi_writeback
2015-07-02 08:46:00 -06:00
backing-dev.h
writeback: don't embed root bdi_writeback_congested in bdi_writeback
2015-07-02 08:46:00 -06:00
backlight.h
backlight: Change the return type of backlight_update_status() to int
2015-06-23 15:47:35 +01:00
balloon_compaction.h
basic_mmio_gpio.h
gpio: generic: support input-only chips
2015-07-27 15:01:05 +02:00
bcd.h
bch.h
bcm47xx_nvram.h
MIPS: BCM47xx: Move NVRAM driver to the drivers/firmware/
2015-06-21 21:55:33 +02:00
bcm47xx_wdt.h
bfin_mac.h
binfmts.h
bio.h
block: Replace SG_GAPS with new queue limits mask
2015-08-19 14:26:02 -07:00
bit_spinlock.h
bitmap.h
linux/bitmap: Force inlining of bitmap weight functions
2015-08-05 09:38:08 +02:00
bitops.h
linux/bitmap: Force inlining of bitmap weight functions
2015-08-05 09:38:08 +02:00
bitrev.h
blk-cgroup.h
blk-cgroup: Drop unlikely before IS_ERR(_OR_NULL)
2015-08-13 10:45:09 -06:00
blk-iopoll.h
blk-mq.h
blk_types.h
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
2015-09-03 12:28:30 -07:00
blkdev.h
block: Replace SG_GAPS with new queue limits mask
2015-08-19 14:26:02 -07:00
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
mm: only define hashdist variable when needed
2015-06-24 17:49:41 -07:00
bottom_half.h
bpf.h
bpf: Implement function bpf_perf_event_read() that get the selected hardware PMU conuter
2015-08-09 22:50:06 -07:00
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bufferhead: Add _gfp version for sb_getblk()
2015-07-02 01:32:44 -04:00
bug.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup-defs.h
Merge branch 'for-4.3-unified-base' into for-4.3
2015-08-25 14:19:29 -04:00
cgroup.h
Merge branch 'for-4.3-unified-base' into for-4.3
2015-08-25 14:19:29 -04:00
cgroup_subsys.h
cgroup: implement the PIDs subsystem
2015-07-14 17:29:23 -04:00
circ_buf.h
cleancache.h
clk-provider.h
clk: Constify clk_hw argument to provider APIs
2015-08-24 16:49:11 -07:00
clk.h
clkdev.h
include, lib: add __printf attributes to several function prototypes
2015-07-17 16:39:53 -07:00
clksrc-dbx500-prcmu.h
clock_cooling.h
clockchips.h
clockevents: Remove clockevents_notify() prototype
2015-07-20 11:37:46 +02:00
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
com20020.h
compaction.h
compat.h
include, lib: add __printf attributes to several function prototypes
2015-07-17 16:39:53 -07:00
compiler-clang.h
compiler-gcc.h
compiler-gcc: integrate the various compiler-gcc[345].h files
2015-06-25 17:00:38 -07:00
compiler-intel.h
compiler-intel: fix wrong compiler barrier() macro
2015-06-25 17:00:38 -07:00
compiler.h
locking, compiler.h: Cast away attributes in the WRITE_ONCE() magic
2015-08-12 11:58:58 +02:00
completion.h
component.h
concap.h
configfs.h
include, lib: add __printf attributes to several function prototypes
2015-07-17 16:39:53 -07:00
connector.h
console.h
printk: implement support for extended console drivers
2015-06-25 17:00:38 -07:00
console_struct.h
consolemap.h
container.h
context_tracking.h
context_tracking: Add ct_state() and CT_WARN_ON()
2015-07-07 10:59:04 +02:00
context_tracking_state.h
context_tracking: Add ct_state() and CT_WARN_ON()
2015-07-07 10:59:04 +02:00
cordic.h
coredump.h
coresight.h
coresight: Fix implicit inclusion of linux/sched.h
2015-08-05 13:30:16 -07:00
cper.h
efi: Handle memory error structures produced based on old versions of standard
2015-07-15 13:30:38 +01:00
cpu.h
include, lib: add __printf attributes to several function prototypes
2015-07-17 16:39:53 -07:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufeature: correctly annotate the module init function
2015-07-22 09:58:02 +02:00
cpufreq-dt.h
cpufreq.h
Merge branch 'pm-opp'
2015-09-01 15:52:41 +02:00
cpuidle.h
cpuidle/coupled: Remove cpuidle_device::safe_state_index
2015-08-28 15:14:54 +02:00
cpumask.h
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
capabilities: ambient capabilities
2015-09-04 16:54:41 -07:00
crypto.h
crypto: aead - Remove CRYPTO_ALG_AEAD_NEW flag
2015-08-17 16:53:53 +08:00
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dca.h
dcache.h
include, lib: add __printf attributes to several function prototypes
2015-07-17 16:39:53 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
dell-led.h
devcoredump.h
devfreq-event.h
devfreq.h
device-mapper.h
block: kill merge_bvec_fn() completely
2015-08-13 12:31:57 -06:00
device.h
Power management and ACPI material for v4.3-rc1
2015-09-01 19:45:46 -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-contiguous.h
dma-debug.h
dma-direction.h
dma-mapping.h
dma_remapping.h
dmaengine.h
Merge branch 'topic/xdmac' into for-linus
2015-06-25 09:21:49 +05:30
dmapool.h
dmar.h
dmi.h
firmware: dmi: struct dmi_header should be packed
2015-06-25 09:06:57 +02:00
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
The libnvdimm sub-system introduces, in addition to the libnvdimm-core,
2015-06-29 10:34:42 -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
net: fix endian check warning in etherdevice.h
2015-08-17 12:14:53 -07:00
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extcon.h
extcon: Remove optional print_state() function pointer of struct extcon_dev
2015-08-10 11:48:55 +09:00
f2fs_fs.h
f2fs: add annotation for space utilization of regular/inline dentry
2015-08-21 22:45:13 -07:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN()
2015-07-22 15:27:32 -07:00
fec.h
fence.h
file.h
filter.h
bpf: also show process name/pid in bpf_jit_dump
2015-07-30 11:13:21 -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
freezer.h
frontswap.h
frontswap: allow multiple backends
2015-06-24 17:49:45 -07:00
fs.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2015-09-01 16:13:25 -07:00
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fsl-diu-fb.h
fsl_devices.h
drivers: usb: fsl: Workaround for USB erratum-A005275
2015-08-14 16:50:36 -07:00
fsl_hypervisor.h
fsl_ifc.h
fsl_ifc: Change IO accessor based on endianness
2015-08-07 22:59:34 -05:00
fsldma.h
fsnotify.h
fsnotify_backend.h
fsnotify: get rid of fsnotify_destroy_mark_locked()
2015-09-04 16:54:41 -07:00
ftrace.h
ftrace: Fix breakage of set_ftrace_pid
2015-07-24 13:58:14 -04:00
ftrace_irq.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
genalloc: rename of_get_named_gen_pool() to of_gen_pool_get()
2015-06-30 19:45:01 -07:00
genetlink.h
genhd.h
block: partition: convert percpu ref
2015-07-17 08:41:53 -06:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
mm: meminit: finish initialisation of struct pages before basic setup
2015-06-30 19:44:56 -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
First set of IIO fixes for the 4.2 cycle.
2015-07-13 14:18:07 -07:00
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: Minimize nohz off overhead
2015-06-19 15:18:28 +02:00
htcpld.h
htirq.h
huge_mm.h
hugetlb.h
mm: hugetlb: allow hugepages_supported to be architecture specific
2015-07-17 16:39:52 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
Drivers: hv: vmbus: Further improve CPU affiliation logic
2015-08-05 11:44:28 -07:00
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
mac80211: fix BIT position for TDLS WIDE extended cap
2015-08-14 17:49:53 +02:00
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
net/core: Add reading VF statistics through the PF netdevice
2015-06-15 17:23:03 -07:00
if_ltalk.h
if_macvlan.h
macvtap: Increase limit of macvtap queues
2015-06-23 06:14:04 -07:00
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
IGMP: Inhibit reports for local multicast groups
2015-08-28 13:28:47 -07:00
ihex.h
ima.h
in.h
in6.h
inet.h
inet_diag.h
sock_diag: specify info_size per inet protocol
2015-06-15 19:49:22 -07:00
inet_lro.h
inetdevice.h
net: ipv4 sysctl option to ignore routes when nexthop link is down
2015-06-24 02:15:54 -07:00
init.h
module: relocate module_init from init.h to module.h
2015-07-05 23:59:14 -04:00
init_ohci1394_dma.h
init_task.h
sched/cputime: Guarantee stime + utime == rtime
2015-08-03 12:21:21 +02:00
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
IOMMU Updates for Linux v4.2
2015-06-23 18:27:19 -07:00
intel_pmic_gpio.h
interrupt.h
interval_tree.h
interval_tree_generic.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iommu-common.h
iommu-helper.h
iommu.h
include, lib: add __printf attributes to several function prototypes
2015-07-17 16:39:53 -07:00
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h
net: ipv6 sysctl option to ignore routes when nexthop link is down
2015-08-13 21:27:19 -07:00
ipv6_route.h
irq.h
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-09-01 14:33:35 -07:00
irq_cpustat.h
irq_work.h
irqchip.h
irqchip: Move IRQCHIP_DECLARE macro to include/linux/irqchip.h
2015-07-02 22:34:38 +02:00
irqdesc.h
genirq: Provide irq_desc_has_action
2015-08-06 00:14:59 +02:00
irqdomain.h
genirq: Add DOMAIN_BUS_NEXUS irqdomain property
2015-07-30 00:14:38 +02:00
irqflags.h
irqhandler.h
irqnr.h
genirq: Remove irq_node()
2015-06-25 12:06:45 +02:00
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
jbd2.h
Pretty much all bug fixes and clean ups for 4.3, after a lot of
2015-09-03 12:52:19 -07:00
jhash.h
jiffies.h
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-09-01 14:04:50 -07:00
journal-head.h
joystick.h
jump_label.h
jump label, locking/static_keys: Update docs
2015-08-03 11:51:14 +02:00
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan.h
x86/kasan, mm: Introduce generic kasan_populate_zero_shadow()
2015-08-22 14:54:55 +02:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h
include, lib: add __printf attributes to several function prototypes
2015-07-17 16:39:53 -07:00
kernel_stat.h
kernelcapi.h
kernfs.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2015-07-03 15:20:57 -07:00
kexec.h
kexec: define kexec_in_progress in !CONFIG_KEXEC case
2015-08-04 22:25:28 -07:00
key-type.h
key.h
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
klist: implement klist_prev()
2015-07-28 08:50:42 +01:00
kmemcheck.h
kmemleak.h
mm: kmemleak_alloc_percpu() should follow the gfp from per_alloc()
2015-06-24 17:49:46 -07:00
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
include, lib: add __printf attributes to several function prototypes
2015-07-17 16:39:53 -07:00
kobject_ns.h
kprobes.h
perf/x86/hw_breakpoints: Disallow kernel breakpoints unless kprobe-safe
2015-08-04 10:16:54 +02:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
kernel/kthread.c:kthread_create_on_node(): clarify documentation
2015-09-04 16:54:41 -07:00
ktime.h
kvm_host.h
KVM: document memory barriers for kvm->vcpus/kvm->online_vcpus
2015-07-30 16:02:54 +02:00
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_pwm.h
lglock.h
sched/stop_machine: Fix deadlock between multiple stop_two_cpus()
2015-06-19 10:03:12 +02:00
lguest.h
lguest_launcher.h
libata.h
libata: add ATA_HORKAGE_MAX_SEC_1024 to revert back to previous max_sectors limit
2015-07-15 11:47:24 -04:00
libfdt.h
libfdt_env.h
libnvdimm.h
libnvdimm: Add sysfs numa_node to NVDIMM devices
2015-06-26 11:23:38 -04:00
libps2.h
license.h
linkage.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
livepatch.h
llc.h
llist.h
locking, include/llist: Use linux/atomic.h instead of asm/cmpxchg.h
2015-08-12 11:59:08 +02:00
lockdep.h
Merge branch 'sched-hrtimers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-06-24 15:09:40 -07:00
lockref.h
log2.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
2015-06-27 13:26:03 -07:00
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
mc6821.h
mc146818rtc.h
mcb.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
mei: bus: add and call callback on notify event
2015-08-03 17:30:00 -07:00
memblock.h
memblock: introduce a for_each_reserved_mem_region iterator
2015-06-30 19:44:55 -07:00
memcontrol.h
Merge branch 'for-4.2/writeback' of git://git.kernel.dk/linux-block
2015-06-25 16:00:17 -07:00
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memstick.h
mg_disk.h
mic_bus.h
micrel_phy.h
migrate.h
migrate_mode.h
mii.h
miscdevice.h
char: make misc_deregister a void function
2015-08-05 10:35:49 -07:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm-arch-hooks.h
mm: new arch_remap() hook
2015-06-24 17:49:41 -07:00
mm.h
userfaultfd: teach vma_merge to merge across vma->vm_userfaultfd_ctx
2015-09-04 16:54:41 -07:00
mm_inline.h
mm_types.h
x86, mm: trace when an IPI is about to be sent
2015-09-04 16:54:41 -07:00
mman.h
mmdebug.h
mmiotrace.h
include, lib: add __printf attributes to several function prototypes
2015-07-17 16:39:53 -07:00
mmu_context.h
mmu_notifier.h
mm: clarify that the function operates on hugepage pte
2015-06-24 17:49:44 -07:00
mmzone.h
mm: meminit: initialise a subset of struct pages if CONFIG_DEFERRED_STRUCT_PAGE_INIT is set
2015-06-30 19:44:56 -07:00
mnt_namespace.h
mod_devicetable.h
mod_devicetable: add space before */
2015-08-07 15:03:42 +02:00
module.h
module: relocate module_init from init.h to module.h
2015-07-05 23:59:14 -04:00
moduleloader.h
moduleparam.h
Minor merge needed, due to function move.
2015-07-01 10:49:25 -07:00
mount.h
mpage.h
mpi.h
MPILIB: add mpi_read_buf() and mpi_get_size() helpers
2015-06-16 14:35:06 +08:00
mpls.h
mpls_iptunnel.h
mpls: ip tunnel support
2015-07-21 10:39:05 -07:00
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
PCI/MSI: Drop domain field from msi_controller
2015-07-30 00:14:39 +02:00
msm_mdp.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
nd.h
libnvdimm: infrastructure for btt devices
2015-06-25 04:20:04 -04:00
net.h
net_dbg_ratelimited: turn into no-op when !DEBUG
2015-08-06 23:51:30 -07:00
netdev_features.h
netdevice.h
net: kill long time unused bonding private flags
2015-08-27 16:28:35 -07:00
netfilter.h
netfilter: nf_conntrack: make nf_ct_zone_dflt built-in
2015-09-02 16:32:56 -07:00
netfilter_bridge.h
netfilter: bridge: reduce nf_bridge_info to 32 bytes again
2015-07-30 13:37:42 +02:00
netfilter_defs.h
netfilter: don't pull include/linux/netfilter.h from netns headers
2015-06-18 21:14:31 +02:00
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter: Define v6ops in !CONFIG_NETFILTER case.
2015-08-27 16:35:51 -07:00
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h
NFSv.2/pnfs Add a LAYOUTSTATS rpc function
2015-06-24 10:17:37 -04:00
nfs_fs.h
NFS: nfs_mark_for_revalidate should always set NFS_INO_REVAL_PAGECACHE
2015-07-22 17:15:54 -04:00
nfs_fs_i.h
nfs_fs_sb.h
NFS: Remove the "NFS_CAP_CHANGE_ATTR" capability
2015-07-22 17:15:54 -04:00
nfs_iostat.h
nfs_page.h
nfs_xdr.h
NFSv.2/pnfs Add a LAYOUTSTATS rpc function
2015-06-24 10:17:37 -04:00
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h
watchdog: rename watchdog_suspend() and watchdog_resume()
2015-09-04 16:54:41 -07:00
node.h
nodemask.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
NTB: Add NTB hardware abstraction layer
2015-07-04 14:04:44 -04:00
ntb_transport.h
NTB: Split ntb_hw_intel and ntb_transport drivers
2015-07-04 14:05:49 -04:00
nubus.h
numa.h
nvme.h
NVMe: Add nvme subsystem reset IOCTL
2015-08-18 11:56:13 -06:00
nvmem-consumer.h
nvmem: Add nvmem_device based consumer apis.
2015-08-05 13:43:44 -07:00
nvmem-provider.h
nvmem: Add a simple NVMEM framework for nvmem providers
2015-08-05 13:43:12 -07:00
nvram.h
nwpserial.h
of.h
device property: check fwnode type in to_of_node()
2015-08-26 01:46:39 +02:00
of_address.h
of_device.h
of: constify drv arg of of_driver_match_device stub
2015-07-27 08:23:27 -05:00
of_dma.h
of_fdt.h
Devicetree changes for v4.2
2015-07-01 19:40:18 -07:00
of_gpio.h
gpio: defer probe if pinctrl cannot be found
2015-07-28 13:55:36 +02:00
of_graph.h
of: fix a build error to of_graph_get_endpoint_by_regs function
2015-06-24 11:18:48 +10:00
of_iommu.h
of_irq.h
of/platform: Assign MSI domain to platform device
2015-07-30 00:14:37 +02:00
of_mdio.h
of_mtd.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of/platform: add function to populate default bus
2015-08-25 11:29:55 -05:00
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
oom.h
mm: oom_kill: simplify OOM killer locking
2015-06-24 17:49:43 -07:00
openvswitch.h
oprofile.h
osq_lock.h
oxu210hp.h
padata.h
page-flags-layout.h
page-flags.h
mm: check __PG_HWPOISON separately from PAGE_FLAGS_CHECK_AT_*
2015-08-07 04:39:42 +03:00
page-isolation.h
page_counter.h
page_ext.h
page_owner.h
mm/page_owner: set correct gfp_mask on page_owner
2015-07-17 16:39:54 -07:00
pageblock-flags.h
pagemap.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-07-04 19:36:06 -07:00
pagevec.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
Update Viresh Kumar's email address
2015-07-17 16:39:53 -07:00
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-aspm.h
pci-ats.h
PCI: Move ATS declarations to linux/pci.h so they're all together
2015-08-13 15:59:58 -05:00
pci-dma.h
pci.h
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-09-01 14:33:35 -07:00
pci_hotplug.h
pci_ids.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2015-06-24 16:49:49 -07:00
pcieport_if.h
pda_power.h
pe.h
percpu-defs.h
percpu: update incorrect comment for this_cpu_*() operations
2015-07-14 17:43:56 -04:00
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
percpu_ida.h
perf_event.h
perf: add the necessary core perf APIs when accessing events counters in eBPF programs
2015-08-09 22:50:05 -07:00
perf_regs.h
personality.h
pfn.h
phonet.h
phy.h
net: phy: Allow PHY devices to identify themselves as Ethernet switches, etc.
2015-08-31 14:48:01 -07:00
phy_fixed.h
phy: fixed_phy: Add gpio to determine link up/down.
2015-08-31 14:48:02 -07:00
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pktcdvd.h
pl320-ipc.h
platform_device.h
platform_device: better support builtin boilerplate avoidance
2015-06-16 14:12:37 -04:00
plist.h
pm-trace.h
pm.h
Merge branch 'pm-wakeirq'
2015-06-19 01:18:14 +02:00
pm2301_charger.h
pm_clock.h
pm_domain.h
PM / Domains: Remove unusable governor dummies
2015-08-29 01:54:43 +02:00
pm_opp.h
PM / OPP: add dev_pm_opp_is_turbo() helper
2015-08-07 03:17:06 +02:00
pm_qos.h
PM / QoS: Make it possible to expose device latency tolerance to userspace
2015-07-28 08:50:41 +01:00
pm_runtime.h
PM / sleep: Allow devices without runtime PM to do direct-complete
2015-07-21 23:14:22 +02:00
pm_wakeirq.h
pm_wakeup.h
pmem.h
The libnvdimm sub-system introduces, in addition to the libnvdimm-core,
2015-06-29 10:34:42 -07:00
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
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
preempt.h
sched/preempt: Fix cond_resched_lock() and cond_resched_softirq()
2015-08-03 12:21:24 +02:00
prefetch.h
printk.h
include, lib: add __printf attributes to several function prototypes
2015-07-17 16:39:53 -07:00
proc_fs.h
proc_ns.h
profile.h
projid.h
property.h
Add a matching set of device_ functions for determining mac/phy
2015-08-13 16:58:29 -07:00
proportions.h
proportions: Spelling s/consitent/consistent/
2015-08-07 14:37:04 +02:00
psci.h
arm64: psci: factor invocation code to drivers
2015-08-03 12:33:39 +01:00
pstore.h
pstore_ram.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptrace.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
spi: pxa2xx: Add support for Intel Sunrisepoint
2015-07-31 19:13:33 +01:00
pxa168_eth.h
qcom_scm.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
quota: Propagate error from ->acquire_dquot()
2015-07-23 20:59:10 +02:00
radix-tree.h
raid_class.h
ramfs.h
random.h
range.h
ras.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN()
2015-07-22 15:27:32 -07:00
rcutiny.h
rcu: Add RCU-sched flavors of get-state and cond-sync
2015-07-22 15:26:58 -07:00
rcutree.h
rcu: Add RCU-sched flavors of get-state and cond-sync
2015-07-22 15:26:58 -07:00
reboot.h
reciprocal_div.h
regmap.h
regset.h
relay.h
remoteproc.h
remoteproc: add a rproc ops for performing address translation
2015-06-17 09:57:12 +03:00
reservation.h
reset-controller.h
reset.h
resource.h
resource_ext.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
rhashtable.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
mm: send one IPI per CPU to TLB flush all entries after unmapping pages
2015-09-04 16:54:41 -07:00
rndis.h
root_dev.h
rotary_encoder.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h
rtc: interface: Remove rtc_set_mmss()
2015-06-25 01:13:43 +02:00
rtmutex.h
rtnetlink.h
switchdev; add VLAN support for port's bridge_getlink
2015-06-23 06:56:18 -07:00
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
lib: scatterlist: add sg splitting function
2015-08-24 14:28:01 -06:00
scc.h
sched.h
mm: send one IPI per CPU to TLB flush all entries after unmapping pages
2015-09-04 16:54:41 -07:00
sched_clock.h
scif.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
2015-06-27 13:26:03 -07:00
selection.h
selinux.h
sem.h
semaphore.h
seq_buf.h
seq_file.h
fs: create and use seq_show_option for escaping
2015-09-04 16:54:41 -07:00
seq_file_net.h
seqlock.h
Minor merge needed, due to function move.
2015-07-01 10:49:25 -07:00
seqno-fence.h
serial.h
serial_8250.h
tty/early: make serial8250_early_{in,out} static again
2015-07-23 17:43:30 -07:00
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
flow_dissector: Use 'const' where possible.
2015-09-01 21:19:17 -07:00
slab.h
slab: infrastructure for bulk object allocation and freeing
2015-09-04 16:54:41 -07:00
slab_def.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smpboot: allow passing the cpumask on per-cpu thread registration
2015-09-04 16:54:41 -07:00
smsc911x.h
smscphy.h
sock_diag.h
sock_diag: define destruction multicast groups
2015-06-15 19:49:22 -07:00
socket.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-09-01 08:40:25 -07:00
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
stddef.h: move offsetofend inside #ifndef/#endif guard, neaten
2015-06-25 17:00:38 -07:00
ste_modem_shm.h
stmmac.h
stmmac: remove setup/free glue callbacks
2015-07-29 00:13:25 -07:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
stop_machine: Use 'cpu_stop_fn_t' where possible
2015-08-03 12:21:27 +02:00
string.h
lib/string.c: introduce strreplace()
2015-06-25 17:00:40 -07:00
string_helpers.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swap.h
block: add a bi_error field to struct bio
2015-07-29 08:55:15 -06:00
swap_cgroup.h
swapfile.h
swapops.h
swiotlb.h
sxgbe_platform.h
synclink.h
sys.h
sys_soc.h
syscalls.h
userfaultfd: activate syscall
2015-09-04 16:54:41 -07:00
syscore_ops.h
sysctl.h
sysctl: Allow creating permanently empty directories that serve as mountpoints.
2015-07-01 10:36:39 -05:00
sysfs.h
sysfs: Add support for permanently empty directories to serve as mount points.
2015-07-01 10:36:45 -05:00
syslog.h
check_syslog_permissions() cleanup
2015-06-25 17:00:39 -07:00
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
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thinkpad_acpi.h
thread_info.h
threads.h
ti_wilink_st.h
Revert "ti-st: add device tree support"
2015-08-05 13:24:12 -07:00
tick.h
nohz: Remove useless argument on tick_nohz_task_switch()
2015-07-29 15:45:01 +02:00
tifm.h
timb_dma.h
timb_gpio.h
time.h
time64.h
time: Introduce struct itimerspec64
2015-08-17 11:25:28 -07:00
timecounter.h
timekeeper_internal.h
timekeeping.h
Merge branch 'fortglx/4.3/time' of https://git.linaro.org/people/john.stultz/linux into timers/core
2015-08-20 21:13:22 +02:00
timer.h
timer: Reduce timer migration overhead if disabled
2015-06-19 15:18:28 +02:00
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
tracing, perf: Implement BPF programs attached to uprobes
2015-08-06 15:29:14 -03:00
trace_seq.h
tracefs.h
tracehook.h
tracepoint.h
transport_class.h
tsacct_kern.h
tty.h
tty: core: Add tty_debug() for printk(KERN_DEBUG) messages
2015-07-23 18:37:31 -07:00
tty_driver.h
Avoid usb reset crashes by making tty_io cdevs truly dynamic
2015-08-03 15:24:43 -07:00
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
rcu: Create a synchronize_rcu_mult()
2015-07-22 15:27:29 -07:00
u64_stats_sync.h
uaccess.h
lib: introduce strncpy_from_unsafe()
2015-08-28 16:27:27 -07:00
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uinput.h
uio.h
uio_driver.h
uprobes.h
uprobes/x86: Make arch_uretprobe_is_alive(RP_CHECK_CALL) more clever
2015-07-31 10:38:06 +02:00
usb.h
Revert "usb: interface authorization: Declare authorized attribute"
2015-08-18 09:59:12 -07:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
userfaultfd: mcopy_atomic|mfill_zeropage: UFFDIO_COPY|UFFDIO_ZEROPAGE preparation
2015-09-04 16:54:41 -07:00
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
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
userfaultfd: waitqueue: add nr wake parameter to __wake_up_locked_key
2015-09-04 16:54:41 -07:00
wanrouter.h
watchdog.h
kernel/watchdog: move NMI function header declarations from watchdog.h to nmi.h
2015-09-04 16:54:41 -07:00
wireless.h
wl12xx.h
wm97xx.h
workqueue.h
workqueue: fix some docbook warnings
2015-08-17 15:48:24 -04:00
writeback.h
ww_mutex.h
xattr.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zpool: remove zpool_evict()
2015-06-25 17:00:37 -07:00
zsmalloc.h
zutil.h