linux-stable/include/linux
Mel Gorman e58469bafd mm: page_alloc: use word-based accesses for get/set pageblock bitmaps
The test_bit operations in get/set pageblock flags are expensive.  This
patch reads the bitmap on a word basis and use shifts and masks to isolate
the bits of interest.  Similarly masks are used to set a local copy of the
bitmap and then use cmpxchg to update the bitmap if there have been no
other changes made in parallel.

In a test running dd onto tmpfs the overhead of the pageblock-related
functions went from 1.27% in profiles to 0.5%.

In addition to the performance benefits, this patch closes races that are
possible between:

a) get_ and set_pageblock_migratetype(), where get_pageblock_migratetype()
   reads part of the bits before and other part of the bits after
   set_pageblock_migratetype() has updated them.

b) set_pageblock_migratetype() and set_pageblock_skip(), where the non-atomic
   read-modify-update set bit operation in set_pageblock_skip() will cause
   lost updates to some bits changed in the set_pageblock_migratetype().

Joonsoo Kim first reported the case a) via code inspection.  Vlastimil
Babka's testing with a debug patch showed that either a) or b) occurs
roughly once per mmtests' stress-highalloc benchmark (although not
necessarily in the same pageblock).  Furthermore during development of
unrelated compaction patches, it was observed that frequent calls to
{start,undo}_isolate_page_range() the race occurs several thousands of
times and has resulted in NULL pointer dereferences in move_freepages()
and free_one_page() in places where free_list[migratetype] is
manipulated by e.g.  list_move().  Further debugging confirmed that
migratetype had invalid value of 6, causing out of bounds access to the
free_list array.

That confirmed that the race exist, although it may be extremely rare,
and currently only fatal where page isolation is performed due to
memory hot remove.  Races on pageblocks being updated by
set_pageblock_migratetype(), where both old and new migratetype are
lower MIGRATE_RESERVE, currently cannot result in an invalid value
being observed, although theoretically they may still lead to
unexpected creation or destruction of MIGRATE_RESERVE pageblocks.
Furthermore, things could get suddenly worse when memory isolation is
used more, or when new migratetypes are added.

After this patch, the race has no longer been observed in testing.

Signed-off-by: Mel Gorman <mgorman@suse.de>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Reported-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Reported-and-tested-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Jan Kara <jack@suse.cz>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Hugh Dickins <hughd@google.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-06-04 16:54:09 -07:00
..
amba Updates for mmci driver: 2014-06-02 09:22:24 -07:00
bcma
byteorder
can can: allow to change the device mtu for CAN FD capable devices 2014-03-07 09:18:23 +01:00
ceph libceph: enable PRIMARY_AFFINITY feature bit 2014-04-04 21:08:20 -07:00
clk clk: at91: add slow clks driver 2014-05-07 18:27:45 +02:00
crush crush: add SET_CHOOSELEAF_VARY_R step 2014-04-04 21:07:28 -07:00
decompress lib/decompress_inflate.c: include appropriate header file 2014-04-03 16:21:12 -07:00
dma
extcon extcon: Move OF helper function to extcon core and change function name 2014-03-19 14:41:58 +09:00
fsl/bestcomm
gpio gpio: include linux/bug.h in interface header 2014-05-16 17:52:36 +02:00
hsi HSI: Introduce driver for SSI Protocol 2014-05-16 00:55:30 +02:00
i2c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2014-04-09 08:45:40 -07:00
iio iio: Add TEMP_AMBIENT and TEMP_OBJECT channel modifiers 2014-05-03 11:35:23 +01:00
input Input: pmic8xxx-pwrkey - migrate to DT 2014-03-30 13:25:19 -07:00
irqchip Add support for GIC crossbar that routes interrupts on newer omaps. 2014-03-08 23:32:26 -08:00
isdn
lockd
mfd regulator: Updates for v3.16 2014-06-03 11:44:48 -07:00
mlx4 net/mlx4_core: Add UPDATE_QP SRIOV wrapper support 2014-05-16 15:12:45 -04:00
mlx5 IB/mlx5: Add block multicast loopback support 2014-04-10 18:43:32 -07:00
mmc MMC highlights for 3.15: 2014-04-09 08:39:39 -07:00
mtd Shiraz has moved 2014-04-18 16:40:08 -07:00
netfilter netfilter: nf_conntrack: flush net_gre->keymap_list only from gre helper 2014-04-08 10:56:12 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
phy phy: core: make NULL a valid phy reference if !CONFIG_GENERIC_PHY 2014-04-24 12:53:38 -07:00
pinctrl
platform_data sound updates for 3.16-rc1 2014-06-04 09:08:25 -07:00
power
raid
regulator Merge remote-tracking branches 'regulator/topic/s5m8767', 'regulator/topic/stub', 'regulator/topic/tps65090', 'regulator/topic/tps65217' and 'regulator/topic/tps65218' into regulator-next 2014-06-02 17:08:12 +01:00
rtc
sched mm: update comment for DEFAULT_MAX_MAP_COUNT 2014-06-04 16:54:05 -07:00
spi Merge remote-tracking branches 'spi/topic/oom', 'spi/topic/pxa2xx', 'spi/topic/rspi' and 'spi/topic/sirf' into spi-next 2014-06-02 17:08:41 +01:00
ssb
sunrpc arch: Mass conversion of smp_mb__*() 2014-04-18 14:20:48 +02:00
unaligned
usb Revert "usb: gadget: net2280: Add support for PLX USB338X" 2014-05-28 11:35:41 -07:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h Merge branch 'acpi-enumeration' 2014-06-03 23:12:20 +02:00
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_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
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_suni.h
atm_tcp.h
atmdev.h
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atomic.h arch: Prepare for smp_mb__{before,after}_atomic() 2014-04-18 11:40:30 +02:00
attribute_container.h
audit.h AUDIT: make audit_is_compat depend on CONFIG_AUDIT_COMPAT_GENERIC 2014-04-10 17:51:29 -04:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev.h bdi: avoid oops on device removal 2014-04-03 16:20:49 -07:00
backlight.h backlight: Add backlight device (un)registration notification 2014-05-27 01:29:01 +02:00
balloon_compaction.h
basic_mmio_gpio.h
bcd.h
bch.h
bcm47xx_wdt.h
bfin_mac.h
binfmts.h exec: kill bprm->tcomm[], simplify the "basename" logic 2014-04-07 16:36:05 -07:00
bio.h fs/bio: remove bs paramater in biovec_create_pool 2014-04-22 15:09:05 -06:00
bit_spinlock.h
bitmap.h
bitops.h arch: Prepare for smp_mb__{before,after}_atomic() 2014-04-18 11:40:30 +02:00
bitrev.h
blk-iopoll.h block: remove old blk_iopoll_enabled variable 2014-03-13 09:38:42 -06:00
blk-mq.h blk-mq: make the sysfs mq/ layout reflect current mappings 2014-05-30 08:25:36 -06:00
blk_types.h blk-mq: improve support for shared tags maps 2014-05-13 15:10:52 -06:00
blkdev.h fs/block_dev.c: add bdev_read_page() and bdev_write_page() 2014-06-04 16:54:02 -07:00
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h include/linux/bootmem.h: cleanup the comment for BOOTMEM_ flags 2014-06-04 16:54:04 -07:00
bottom_half.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h fs/buffer.c: remove block_write_full_page_endio() 2014-06-04 16:54:02 -07:00
bug.h
c2port.h
cache.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup.h cgroup: introduce task_css_is_root() 2014-05-13 11:26:27 -04:00
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-private.h
clk-provider.h DeviceTree for 3.16: 2014-06-04 10:02:38 -07:00
clk.h
clkdev.h
clksrc-dbx500-prcmu.h
clockchips.h
clocksource.h of: consolidate linker section OF match table declarations 2014-05-20 14:25:24 -05:00
cm4000_cs.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
com20020.h
compaction.h mm, compaction: embed migration mode in compact_control 2014-06-04 16:54:06 -07:00
compat.h Merge branch 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-04-02 12:51:41 -07:00
compiler-clang.h LLVMLinux: Add support for clang to compiler.h and new compiler-clang.h 2014-04-09 13:44:35 -07:00
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h compiler-intel.h: Remove duplicate definition 2014-04-15 09:15:39 -07:00
compiler.h LLVMLinux: Add support for clang to compiler.h and new compiler-clang.h 2014-04-09 13:44:35 -07:00
completion.h
component.h
concap.h
configfs.h
connector.h connector: allow multiple messages to be sent in one packet 2014-05-27 13:56:21 -07:00
console.h
console_struct.h console: Use explicit pointer type for vc_uni_pagedir* fields 2014-05-28 13:37:21 -07:00
consolemap.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
cper.h
cpu.h CPU hotplug notifiers registration fixes for 3.15-rc1 2014-04-07 14:55:46 -07:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h cpufreq: Fix build error on some platforms that use cpufreq_for_each_* 2014-05-08 13:10:56 +02:00
cpuidle.h PM / suspend: Always use deepest C-state in the "freeze" sleep state 2014-05-07 01:49:28 +02:00
cpumask.h
cpuset.h mm: page_alloc: use jump labels to avoid checking number_of_cpusets 2014-06-04 16:54:08 -07:00
cputime.h cputime: Bring cputime -> nsecs conversion 2014-03-13 15:56:44 +01:00
crash_dump.h include/linux/crash_dump.h: add vmcore_cleanup() prototype 2014-04-07 16:36:06 -07:00
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
cred.h kernel/groups.c: remove return value of set_groups 2014-04-03 16:21:05 -07:00
crypto.h
cryptohash.h
cryptouser.h
cs5535.h
ctype.h
cuda.h
cyclades.h
cycx_x25.h
davinci_emac.h
dca.h
dcache.h dentry_kill(): don't try to remove from shrink list 2014-05-01 10:30:00 -04:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
devfreq.h PM / devfreq: Add devm_devfreq_{register,unregister}_opp_notfier function 2014-05-24 22:33:41 +09:00
device-mapper.h dm table: add dm_table_run_md_queue_async 2014-03-27 16:56:24 -04:00
device.h Staging driver patches for 3.16-rc1 2014-06-03 08:34:00 -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 cma: add placement specifier for "cma=" kernel parameter 2014-06-04 16:53:57 -07:00
dma-debug.h
dma-direction.h
dma-mapping.h DMA-API: Change dma_declare_coherent_memory() CPU address to phys_addr_t 2014-05-20 16:55:23 -06:00
dma_remapping.h
dmaengine.h dmaengine: fix dmaengine_unmap failure 2014-05-21 14:02:37 -07:00
dmapool.h
dmar.h iommu/vt-d: Change scope lists to struct device, bus, devfn 2014-03-24 14:05:08 +00:00
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h drbd: Test cstate while holding req_lock 2014-04-30 13:46:56 -06:00
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h
dw_dmac.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 remote-tracking branch 'tip/x86/efi-mixed' into efi-for-mingo 2014-03-05 18:15:37 +00:00
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h err.h: use bool for IS_ERR and IS_ERR_OR_NULL 2014-04-03 16:21:06 -07:00
errno.h
errqueue.h
etherdevice.h
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extcon.h extcon: Add devm_extcon_dev_allocate/free to manage the resource of extcon device 2014-04-29 09:45:56 +09:00
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h fbdev/fb.h: silence warning with -Wsign-compare 2014-05-02 15:57:42 +03:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h get rid of files_defer_init() 2014-04-01 23:19:14 -04:00
fec.h
file.h get rid of fget_light() 2014-03-10 11:44:42 -04:00
filter.h net: filter: seccomp: fix wrong decoding of BPF_S_ANC_SECCOMP_LD_W 2014-04-14 16:26:47 -04:00
fips.h
firewire.h ALSA: firewire/bebob: Add a workaround for M-Audio special Firewire series 2014-05-26 14:33:10 +02:00
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
fmc-sdb.h FMC: show_sdb_tree: dump synthesis/commit ID info 2014-02-28 15:12:09 -08:00
fmc.h
font.h
freezer.h
frontswap.h
fs.h fs/libfs.c: add generic data flush to fsync 2014-06-04 16:53:55 -07:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsnotify.h
fsnotify_backend.h fanotify: convert access_mutex to spinlock 2014-04-03 16:20:51 -07:00
ftrace.h ftrace/module: Hardcode ftrace_module_init() call into load_module() 2014-04-28 10:37:21 -04:00
ftrace_event.h tracepoint: Use struct pointer instead of name hash for reg/unreg tracepoints 2014-04-08 20:43:28 -04:00
ftrace_irq.h
futex.h futex: Allow architectures to skip futex_atomic_cmpxchg_inatomic() test 2014-03-03 11:32:08 +01:00
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h arch: Mass conversion of smp_mb__*() 2014-04-18 14:20:48 +02:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm: get rid of __GFP_KMEMCG 2014-06-04 16:53:56 -07:00
goldfish.h goldfish: fix >> 32 warning 2014-05-20 10:30:40 +09:00
gpio-fan.h
gpio-pxa.h
gpio.h
gpio_keys.h
gpio_mouse.h
gsmmux.h
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h drm/docs: Include hdmi infoframe helper reference 2014-03-13 12:48:32 +01:00
hid-debug.h
hid-roccat.h
hid-sensor-hub.h iio: hid-sensors: Add API to power on/off 2014-05-05 10:59:49 +01:00
hid-sensor-ids.h iio: hid-sensors: Added device rotation support 2014-04-29 22:11:53 +01:00
hid.h Merge branches 'for-3.16/i2c-hid', 'for-3.16/rmi4', 'for-3.16/sony' and 'for-3.16/thingm' into for-linus 2014-06-04 13:09:43 +02:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
host1x.h gpu: host1x: export host1x_syncpt_incr_max() function 2014-04-04 09:12:49 +02:00
hp_sdc.h
hpet.h
hrtimer.h hrtimer: Rearrange comments in the order struct members are declared 2014-03-20 12:35:45 +01:00
htcpld.h
htirq.h
huge_mm.h mm: close PageTail race 2014-03-04 07:55:47 -08:00
hugetlb.h hugetlb: add hstate_is_gigantic() 2014-06-04 16:53:59 -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: Implement per-CPU mapping of relid to channel 2014-05-03 19:24:26 -04: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 i2c: add deprecation warning for class based instantiation 2014-03-05 17:16:45 +01:00
i2o.h
i7300_idle.h
i8042.h
i8253.h
i82593.h
icmp.h
icmpv6.h
ide.h
idr.h idr: remove dead code 2014-04-07 16:36:07 -07:00
ieee80211.h Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2014-03-20 11:53:20 -04:00
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 macvlan: Fix lockdep warnings with stacked macvlan devices 2014-05-16 22:14:49 -04:00
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h vlan: Fix build error wth vlan_get_encap_level() 2014-05-20 11:24:26 -04:00
igmp.h
ihex.h
ima.h
in.h
in6.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h
init.h init.h: Update initcall_sync variants to fix build errors 2014-05-27 14:26:31 -07:00
init_ohci1394_dma.h
init_task.h Linux 3.13 2014-03-07 11:41:32 -05:00
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h iommu/vt-d: Store PCI segment number in struct intel_iommu 2014-03-24 14:07:31 +00:00
intel_mid_dma.h
intel_pmic_gpio.h
interrupt.h Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next 2014-06-03 12:57:53 -07:00
interval_tree.h
interval_tree_generic.h
io-mapping.h
io.h Kconfig: rename HAS_IOPORT to HAS_IOPORT_MAP 2014-04-07 16:36:11 -07:00
ioc3.h
ioc4.h
iocontext.h
iommu-helper.h
iommu.h
ioport.h
ioprio.h
iova.h iommu/vt-d: Update IOMMU state when memory hotplug happens 2014-03-04 17:51:06 +01:00
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h ipmi: Turn off all activity on an idle ipmi interface 2014-04-17 12:23:07 -07:00
ipmi_smi.h ipmi: boolify some things 2014-04-17 12:30:40 -07:00
ipv6.h
ipv6_route.h
irq.h genirq: x86: Ensure that dynamic irq allocation does not conflict 2014-04-28 12:20:00 +02:00
irq_cpustat.h
irq_work.h
irqchip.h
irqdesc.h
irqdomain.h
irqflags.h
irqnr.h
irqreturn.h
isa.h
isapnp.h module: remove MODULE_GENERIC_TABLE 2014-03-13 12:11:00 +10:30
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h net: isdn: use sk_unattached_filter api 2014-03-31 00:45:09 -04:00
isdnif.h
isicom.h
jbd.h
jbd2.h
jbd_common.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h include/linux/jump_label.h: expose the reference count 2014-06-04 16:54:08 -07:00
jump_label_ratelimit.h
jz4740-adc.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kcmp.h
kconfig.h
kcore.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h Nothing major: the stricter permissions checking for sysfs broke 2014-04-06 09:38:07 -07:00
kernel_stat.h Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-04-01 11:22:57 -07:00
kernelcapi.h
kernfs.h kernfs: move the last knowledge of sysfs out from kernfs 2014-05-27 14:33:17 -07:00
kexec.h kexec/compat: convert to COMPAT_SYSCALL_DEFINE with changing parameter types 2014-03-06 16:30:46 +01:00
key-type.h
key.h
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemcheck.h
kmemleak.h kmemleak: remove redundant code 2014-04-03 16:20:50 -07:00
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h kobject: Make support for uevent_helper optional. 2014-04-25 12:00:49 -07:00
kobject_ns.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h kvm/irqchip: Speed up KVM_SET_GSI_ROUTING 2014-05-05 16:29:11 +02:00
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.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 lglock: map to spinlock when !CONFIG_SMP 2014-04-07 16:36:14 -07:00
lguest.h
lguest_launcher.h
libata.h libata/ahci: accommodate tag ordered controllers 2014-04-18 15:56:03 -04:00
libfdt.h
libfdt_env.h
libps2.h
license.h
linkage.h asmlinkage: Revert "lto: Make asmlinkage __visible" 2014-05-05 16:07:37 -07:00
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h mm: keep page cache radix tree nodes in check 2014-04-03 16:21:01 -07:00
list_nulls.h
list_sort.h
llc.h
llist.h
lockdep.h Merge branch 'x86-asmlinkage-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-03-31 14:13:25 -07:00
lockref.h
log2.h
lp.h
lru_cache.h
lsm_audit.h
lz4.h
lzo.h
m48t86.h
mailbox.h
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h fs/mbcache.c: change block and index hash chain to hlist_bl_node 2014-03-18 19:19:41 -04:00
mbus.h bus: mvebu: pass the coherency availability information at init time 2014-04-24 05:00:36 +00:00
mc6821.h
mc146818rtc.h
mcb.h mcb: Add support for shared PCI IRQs 2014-05-27 17:38:11 -07:00
mdio-bitbang.h
mdio-gpio.h net: mdio-gpio: Add support for separate MDI and MDO gpio pins 2014-04-16 15:09:51 -04:00
mdio-mux.h
mdio.h
mei_cl_bus.h
memblock.h memblock: introduce memblock_alloc_range() 2014-06-04 16:53:57 -07:00
memcontrol.h memcg: cleanup kmem cache creation/destruction functions naming 2014-06-04 16:54:08 -07:00
memory.h
memory_hotplug.h mem-hotplug: implement get/put_online_mems 2014-06-04 16:53:59 -07:00
mempolicy.h hugetlb: restrict hugepage_migration_support() to x86_64 2014-06-04 16:53:51 -07:00
mempool.h
memstick.h
mg_disk.h
micrel_phy.h
migrate.h mm, migration: add destination page freeing callback 2014-06-04 16:54:06 -07:00
migrate_mode.h
mii.h
miscdevice.h miscdevice.h: Simple syntax fix to make pointers consistent. 2014-05-27 17:43:11 -07:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h mm: introdule compound_head_by_tail() 2014-06-04 16:54:03 -07:00
mm_inline.h
mm_types.h memcg: kill CONFIG_MM_OWNER 2014-06-04 16:54:01 -07:00
mman.h
mmdebug.h mm: pass VM_BUG_ON() reason to dump_page() 2014-06-04 16:53:58 -07:00
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h mm: page_alloc: use word-based accesses for get/set pageblock bitmaps 2014-06-04 16:54:09 -07:00
mnt_namespace.h
mod_devicetable.h x86: LLVMLinux: Fix "incomplete type const struct x86cpu_device_id" 2014-04-09 13:44:35 -07:00
module.h Nothing major: the stricter permissions checking for sysfs broke 2014-04-06 09:38:07 -07:00
moduleloader.h
moduleparam.h VERIFY_OCTAL_PERMISSIONS: stricter checking for sysfs perms. 2014-03-24 12:21:00 +10:30
mount.h smarter propagate_mnt() 2014-04-01 23:19:08 -04:00
mpage.h
mpi.h
mpls.h UAPI: add MPLS label stack definition 2014-03-04 13:51:06 -05:00
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
msm_mdp.h
mutex-debug.h
mutex.h locking/mutexes: Introduce cancelable MCS lock for adaptive spinning 2014-03-11 12:14:56 +01:00
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mxm-wmi.h
n_r3964.h
namei.h
nbd.h switch nbd to sockfd_lookup/sockfd_put 2014-04-01 23:19:10 -04:00
net.h net: avoid dependency of net_get_random_once on nop patching 2014-05-14 00:37:34 -04:00
netdev_features.h net: add busy_poll device feature 2014-04-03 14:31:34 -04:00
netdevice.h Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next 2014-06-03 12:57:53 -07:00
netfilter.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h net: Add variants of capable for use on netlink messages 2014-04-24 13:44:54 -04:00
netpoll.h netpoll: Rename netpoll_rx_enable/disable to netpoll_poll_disable/enable 2014-03-29 17:58:37 -04:00
nfs.h
nfs3.h
nfs4.h
nfs_fs.h nfs: make nfs_async_rename non-static 2014-03-17 15:14:16 -04:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h Merge branch 'devel' into linux-next 2014-03-17 15:15:21 -04:00
nfsacl.h
nilfs2_fs.h nilfs2: verify metadata sizes read from disk 2014-04-03 16:21:26 -07:00
nl802154.h mac802154: make csma/cca parameters per-wpan 2014-04-01 16:25:51 -04:00
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
ntb.h NTB: Code Style Clean-up 2014-04-07 10:59:19 -07:00
nubus.h
numa.h
nvme.h Merge git://git.infradead.org/users/willy/linux-nvme 2014-04-11 16:45:59 -07:00
nvram.h
nwpserial.h
nx842.h
of.h DeviceTree for 3.16: 2014-06-04 10:02:38 -07:00
of_address.h of: kill off of_can_translate_address 2014-05-13 14:11:09 -05:00
of_device.h
of_dma.h
of_fdt.h of/fdt: add FDT address translation support 2014-05-20 15:19:25 -05:00
of_gpio.h gpio: make of_get_named_gpiod_flags() private 2014-05-21 11:14:46 +02:00
of_graph.h of: Fix of_graph_parse_endpoint stub for !CONFIG_OF builds 2014-03-07 16:02:46 +01:00
of_iommu.h
of_irq.h of/irq: do irq resolution in platform_get_irq_byname() 2014-05-23 11:40:25 +09:00
of_mdio.h net: mdio: of_mdiobus_register(): fall back to mdiobus_register() for !CONFIG_OF 2014-05-07 17:16:35 -04:00
of_mtd.h of_mtd: Add helpers to get ECC strength and ECC step size 2014-03-10 22:42:28 -07:00
of_net.h
of_pci.h of/irq: provide more wrappers for !CONFIG_OF 2014-06-04 04:45:46 -05:00
of_pdt.h
of_platform.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial into next 2014-06-04 08:50:34 -07:00
of_reserved_mem.h of: consolidate linker section OF match table declarations 2014-05-20 14:25:24 -05:00
oid_registry.h
olpc-ec.h
omap-dma.h fbdev changes for 3.16 (main part) 2014-06-04 09:05:12 -07:00
omap-iommu.h
omap-mailbox.h
omapfb.h
oom.h
openvswitch.h
oprofile.h
oxu210hp.h
padata.h
page-debug-flags.h
page-flags-layout.h
page-flags.h
page-isolation.h
page_cgroup.h
pageblock-flags.h mm: page_alloc: use word-based accesses for get/set pageblock bitmaps 2014-06-04 16:54:09 -07:00
pagemap.h fs/mpage.c: factor page_endio() out of mpage_end_io() 2014-06-04 16:54:02 -07:00
pagevec.h mm + fs: prepare for non-page entries in page cache radix trees 2014-04-03 16:21:00 -07:00
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.h
pci.h Merge branches 'pci/host-exynos', 'pci/host-imx6', 'pci/resource' and 'pci/misc' into next 2014-05-30 11:41:17 -06:00
pci_hotplug.h
pci_ids.h PCI: Remove old serial device IDs 2014-04-24 15:01:33 -06:00
pcieport_if.h
pda_power.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h percpu: Fix raw_cpu_inc_return() 2014-05-14 09:46:10 -07:00
percpu_counter.h
percpu_ida.h
perf_event.h Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next 2014-06-03 13:18:00 -07:00
perf_regs.h
personality.h
pfn.h
phonedev.h
phonet.h
phy.h net: phy: add minimal support for QSGMII PHY 2014-04-16 14:36:12 -04:00
phy_fixed.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2014-04-12 14:49:50 -07:00
pktcdvd.h
platform_device.h
plist.h lib/plist: add plist_requeue 2014-06-04 16:54:07 -07:00
pm.h PM / sleep: Mechanism to avoid resuming runtime-suspended devices unnecessarily 2014-05-16 23:15:44 +02:00
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h PM / OPP: Move cpufreq specific OPP functions out of generic OPP library 2014-05-07 00:39:03 +02:00
pm_qos.h
pm_runtime.h PM / sleep: Mechanism to avoid resuming runtime-suspended devices unnecessarily 2014-05-16 23:15:44 +02:00
pm_wakeup.h
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 power_supply: allow power supply devices registered w/o wakeup source 2014-05-30 13:45:25 +02:00
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
preempt.h
preempt_mask.h
prefetch.h
printk.h include/linux/printk.h: remove double asmlinkage in printk_emit 2014-04-03 16:21:08 -07:00
prio_heap.h
proc_fs.h
proc_ns.h
profile.h
projid.h
proportions.h
pstore.h
pstore_ram.h
pti.h
ptp_classify.h net: ptp: move PTP classifier in its own file 2014-04-01 16:43:18 -04:00
ptp_clock_kernel.h ptp: introduce programmable pins. 2014-03-21 14:21:13 -04:00
ptrace.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h ARM: pxa: fix pxa_ssp_* declarations 2014-03-21 18:26:03 +01:00
pxa168_eth.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h quota: provide function to grab quota structure reference 2014-04-03 16:20:54 -07:00
radix-tree.h mm: keep page cache radix tree nodes in check 2014-04-03 16:21:01 -07:00
raid_class.h
ramfs.h
random.h random: Add arch_has_random[_seed]() 2014-03-19 22:24:08 -04:00
range.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h rcu: Provide API to suppress stall warnings while sysrc runs 2014-05-19 10:52:04 -07:00
rcutiny.h rcutorture: Export RCU grace-period kthread wait state to rcutorture 2014-05-14 09:46:09 -07:00
rcutree.h rcutorture: Export RCU grace-period kthread wait state to rcutorture 2014-05-14 09:46:09 -07:00
reboot.h x86: Remove the PCI reboot method from the default chain 2014-04-16 08:56:09 +02:00
reciprocal_div.h
regmap.h regmap: add reg_read/reg_write callbacks to regmap_bus struct 2014-04-18 16:07:22 +01:00
regset.h
relay.h
remoteproc.h
res_counter.h res_counter: remove interface for locked charging and uncharging 2014-04-07 16:35:54 -07:00
reservation.h
reset-controller.h
reset.h reset: Add of_reset_control_get to reset.h 2014-04-14 16:47:28 +02:00
resource.h
resume-trace.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
ring_buffer.h
rio.h rapidio: rework device hierarchy and introduce mport class of devices 2014-04-07 16:36:07 -07:00
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h mm/rmap.c: make page_referenced_one() and try_to_unmap_one() static 2014-06-04 16:54:05 -07:00
rndis.h
root_dev.h
rotary_encoder.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h rtnetlink: wait for unregistering devices in rtnl_link_unregister() 2014-05-15 15:30:33 -04: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
scc.h
sched.h memcg: kill CONFIG_MM_OWNER 2014-06-04 16:54:01 -07:00
sched_clock.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h net: filter: rework/optimize internal BPF interpreter's instruction set 2014-03-31 00:45:09 -04:00
securebits.h
security.h security: add flags to rename hooks 2014-04-01 17:08:43 +02:00
selection.h
selinux.h
sem.h
semaphore.h
seq_file.h
seq_file_net.h
seqlock.h
serial.h
serial_8250.h
serial_bcm63xx.h tty: serial: bcm63xx_uart: define UART_REG_SIZE constant 2014-02-28 16:27:18 -08:00
serial_core.h serial: earlycon: add DT support 2014-05-20 15:19:25 -05:00
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_s3c.h serial: s3c: Fix build of header without serial_core.h preinclusion 2014-03-21 04:12:33 +09:00
serial_sci.h serial: sh-sci: Add more register documentation 2014-03-17 16:20:49 -07:00
serio.h Input: serio - add firmware_id sysfs attribute 2014-04-19 22:42:19 -07:00
sfi.h
sfi_acpi.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h clocksource: sh_cmt: Add support for multiple channels per device 2014-04-16 12:03:14 +02:00
shdma-base.h
shm.h
shmem_fs.h mm + fs: prepare for non-page entries in page cache radix trees 2014-04-03 16:21:00 -07:00
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-next 2014-04-02 20:53:45 -07:00
slab.h memcg: cleanup kmem cache creation/destruction functions naming 2014-06-04 16:54:08 -07:00
slab_def.h
slub_def.h slub: use sysfs'es release mechanism for kmem_cache 2014-05-06 13:04:59 -07:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h net: Move the permission check in sock_diag_put_filterinfo to packet_diag_dump 2014-04-24 13:44:53 -04:00
socket.h
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 mfd: ssbi: Add regmap read/write helpers 2014-03-19 08:58:30 +00:00
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h lib: add glibc style strchrnul() variant 2014-05-23 11:23:27 +09:00
string_helpers.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
superhyway.h
suspend.h ACPI / PM: Hold ACPI scan lock over the "freeze" sleep state 2014-05-16 12:18:27 +02:00
svga.h
swab.h
swap.h swap: change swap_list_head to plist, add swap_avail_head 2014-06-04 16:54:07 -07:00
swapfile.h swap: change swap_list_head to plist, add swap_avail_head 2014-06-04 16:54:07 -07:00
swapops.h x86: define _PAGE_NUMA by reusing software bits on the PMD and PTE levels 2014-06-04 16:53:55 -07:00
swiotlb.h x86: enable DMA CMA with swiotlb 2014-06-04 16:53:57 -07:00
sxgbe_platform.h net: sxgbe: add basic framework for Samsung 10Gb ethernet driver 2014-03-26 16:49:31 -04:00
synclink.h
sys.h
sys_soc.h
syscalls.h mm: constify nmask argument to set_mempolicy() 2014-06-04 16:54:03 -07:00
syscore_ops.h
sysctl.h
sysfs.h sysfs.h: don't return a void-valued expression in sysfs_remove_file 2014-05-27 14:29:56 -07:00
syslog.h
sysrq.h
sysv_fs.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
tegra-ahb.h
tegra-cpuidle.h
tegra-powergate.h
tegra-soc.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thinkpad_acpi.h
thread_info.h mm: get rid of __GFP_KMEMCG 2014-06-04 16:53:56 -07:00
threads.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
timekeeper_internal.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h mm: disable zone_reclaim_mode by default 2014-06-04 16:53:59 -07:00
torture.h torture: Remove unused definition 2014-05-14 09:46:32 -07:00
toshiba.h
tpm.h
tpm_command.h
trace_clock.h
trace_seq.h
tracehook.h arch: Mass conversion of smp_mb__*() 2014-04-18 14:20:48 +02:00
tracepoint.h tracepoint: Fix sparse warnings in tracepoint.c 2014-04-09 10:12:11 -04:00
transport_class.h
tsacct_kern.h
tty.h Revert "tty: Fix race condition between __tty_buffer_request_room and flush_to_ldisc" 2014-05-03 18:14:28 -04:00
tty_driver.h
tty_flip.h
tty_ldisc.h tty_ldisc: add more limits to the @write_wakeup 2014-04-24 16:16:33 -07:00
typecheck.h
types.h DMA-API: Clarify physical/bus address distinction 2014-05-20 16:54:21 -06:00
u64_stats_sync.h net: Replace u64_stats_fetch_begin_bh to u64_stats_fetch_begin_irq 2014-03-14 22:41:36 -04:00
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uinput.h
uio.h introduce copy_page_to_iter, kill loop over iovec in generic_file_aio_read() 2014-04-01 23:19:21 -04:00
uio_driver.h
uprobes.h uprobes: allow ignoring of probe hits 2014-03-18 16:39:34 -04:00
usb.h USB: separate usb_address0 mutexes for each bus 2014-05-27 16:11:49 -07:00
usb_usual.h uas: Add the posibilty to blacklist uas devices from using the uas driver 2014-03-04 15:38:16 -08:00
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
uts.h
utsname.h
uuid.h
uwb.h
vermagic.h
vexpress.h ARM: vexpress: move HBI check to sysreg driver 2014-05-15 17:02:21 +01:00
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_caif.h
virtio_config.h
virtio_console.h
virtio_mmio.h
virtio_ring.h
virtio_scsi.h
vlynq.h
vm_event_item.h mm,vmacache: add debug data 2014-06-04 16:53:57 -07:00
vm_sockets.h
vmacache.h mm: per-thread vma caching 2014-04-07 16:35:53 -07:00
vmalloc.h
vme.h
vmpressure.h
vmstat.h mm,vmacache: add debug data 2014-06-04 16:53:57 -07:00
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 wait: explain the shadowing and type inconsistencies 2014-04-18 16:40:08 -07:00
wanrouter.h
watchdog.h
wireless.h
wl12xx.h wl1251: move power GPIO handling into the driver 2014-02-28 14:08:26 -05:00
wm97xx.h
workqueue.h Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-04-01 11:00:07 -07:00
writeback.h mm: remove unused arg of set_page_dirty_balance() 2014-04-07 16:35:57 -07:00
ww_mutex.h
xattr.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zsmalloc.h
zutil.h