Johannes Weiner
81c0a2bb51
mm: page_alloc: fair zone allocator policy
...
Each zone that holds userspace pages of one workload must be aged at a
speed proportional to the zone size. Otherwise, the time an individual
page gets to stay in memory depends on the zone it happened to be
allocated in. Asymmetry in the zone aging creates rather unpredictable
aging behavior and results in the wrong pages being reclaimed, activated
etc.
But exactly this happens right now because of the way the page allocator
and kswapd interact. The page allocator uses per-node lists of all zones
in the system, ordered by preference, when allocating a new page. When
the first iteration does not yield any results, kswapd is woken up and the
allocator retries. Due to the way kswapd reclaims zones below the high
watermark while a zone can be allocated from when it is above the low
watermark, the allocator may keep kswapd running while kswapd reclaim
ensures that the page allocator can keep allocating from the first zone in
the zonelist for extended periods of time. Meanwhile the other zones
rarely see new allocations and thus get aged much slower in comparison.
The result is that the occasional page placed in lower zones gets
relatively more time in memory, even gets promoted to the active list
after its peers have long been evicted. Meanwhile, the bulk of the
working set may be thrashing on the preferred zone even though there may
be significant amounts of memory available in the lower zones.
Even the most basic test -- repeatedly reading a file slightly bigger than
memory -- shows how broken the zone aging is. In this scenario, no single
page should be able stay in memory long enough to get referenced twice and
activated, but activation happens in spades:
$ grep active_file /proc/zoneinfo
nr_inactive_file 0
nr_active_file 0
nr_inactive_file 0
nr_active_file 8
nr_inactive_file 1582
nr_active_file 11994
$ cat data data data data >/dev/null
$ grep active_file /proc/zoneinfo
nr_inactive_file 0
nr_active_file 70
nr_inactive_file 258753
nr_active_file 443214
nr_inactive_file 149793
nr_active_file 12021
Fix this with a very simple round robin allocator. Each zone is allowed a
batch of allocations that is proportional to the zone's size, after which
it is treated as full. The batch counters are reset when all zones have
been tried and the allocator enters the slowpath and kicks off kswapd
reclaim. Allocation and reclaim is now fairly spread out to all
available/allowable zones:
$ grep active_file /proc/zoneinfo
nr_inactive_file 0
nr_active_file 0
nr_inactive_file 174
nr_active_file 4865
nr_inactive_file 53
nr_active_file 860
$ cat data data data data >/dev/null
$ grep active_file /proc/zoneinfo
nr_inactive_file 0
nr_active_file 0
nr_inactive_file 666622
nr_active_file 4988
nr_inactive_file 190969
nr_active_file 937
When zone_reclaim_mode is enabled, allocations will now spread out to all
zones on the local node, not just the first preferred zone (which on a 4G
node might be a tiny Normal zone).
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Paul Bolle <paul.bollee@gmail.com>
Cc: Zlatko Calusic <zcalusic@bitsync.net>
Tested-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-09-11 15:57:23 -07:00
..
amba
dmaengine: PL08x: Add support for PL080S variant
2013-09-02 11:49:56 +05:30
bcma
bcma: add bcma_core_pci_power_save()
2013-08-26 14:09:03 -04:00
byteorder
can
can: mcp251x: Eliminate irq_flags from driver platform_data
2013-08-21 09:28:29 +02:00
ceph
clk
crush
decompress
dma
extcon
fsl /bestcomm
dma: mxs-dma: remove code left from generic DMA binding conversion
2013-08-19 14:20:21 +05:30
hsi
i2c
ARM: SoC cleanups for 3.12
2013-09-06 13:21:16 -07:00
iio
iio: trigger: implement devm_iio_trigger_alloc/devm_iio_triger_free
2013-08-17 19:34:52 +01:00
input
irqchip
ARM: SoC late changes for v3.12
2013-09-09 16:35:29 -07:00
isdn
lockd
mfd
MMC highlights for 3.12:
2013-09-10 13:33:09 -07:00
mlx4
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2013-09-05 14:54:29 -07:00
mlx5
net/mlx5_core: Support MANAGE_PAGES and QUERY_PAGES firmware command changes
2013-08-15 15:42:57 -07:00
mmc
mmc: sdhci: get voltage from sdhc host
2013-08-26 11:32:07 -04:00
mtd
mtd: add a new ecc_step_size field to mtd_info{}
2013-08-30 21:37:01 +01:00
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
pinctrl
pinctrl: Pass all configs to driver on pin_config_set()
2013-08-28 13:34:41 +02:00
platform_data
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2013-09-10 13:37:36 -07:00
power
power: Add twl4030_madc battery driver.
2013-08-30 17:34:52 -07:00
raid
md update for v3.12
2013-09-10 13:03:41 -07:00
regulator
Merge remote-tracking branch 'regulator/topic/ramp' into regulator-next
2013-09-01 13:50:20 +01:00
rtc
sched
spi
MMC highlights for 3.12:
2013-09-10 13:33:09 -07:00
ssb
sunrpc
Merge branch 'nfsd-next' of git://linux-nfs.org/~bfields/linux
2013-09-10 20:04:59 -07:00
tc_act
unaligned
usb
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2013-09-05 14:54:29 -07:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h
acpi_dma.h
acpi_gpio.h
acpi_io.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
async.h
async_tx.h
ata.h
libata: Add support for SEND/RECEIVE FPDMA QUEUED
2013-08-25 09:39:12 -04:00
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
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev.h
backlight.h
balloon_compaction.h
basic_mmio_gpio.h
bcd.h
bch.h
bcm47xx_wdt.h
bfin_mac.h
binfmts.h
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk-iopoll.h
blk_types.h
blkdev.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
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
direct-io: Implement generic deferred AIO completions
2013-09-04 09:23:46 -04:00
bug.h
c2port.h
cache.h
capability.h
userns: Kill nsown_capable it makes the wrong thing easy
2013-08-30 23:44:11 -07:00
cb710.h
cciss_ioctl.h
cdev.h
cdrom.h
cfag12864b.h
cgroup.h
cgroup: implement CFTYPE_NO_PREFIX
2013-08-26 18:40:56 -04:00
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-private.h
clk: add support for clock reparent on set_rate
2013-08-19 12:27:17 -07:00
clk-provider.h
clk: wrap I/O access for improved portability
2013-08-27 17:50:38 -07:00
clk.h
clkdev.h
clksrc-dbx500-prcmu.h
clockchips.h
clocksource.h
cm4000_cs.h
cmdline-parser.h
block: support embedded device command line partition
2013-09-11 15:56:57 -07:00
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
com20020.h
compaction.h
compat.h
Introduce [compat_]save_altstack_ex() to unbreak x86 SMAP
2013-09-01 14:16:33 -07:00
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h
completion.h
concap.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
cper.h
cpu.h
Merge branch 'pm-cpufreq'
2013-08-27 01:44:40 +02:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufreq.h
cpuidle.h
cpumask.h
cpuset.h
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
Reinstate "crypto: crct10dif - Wrap crc_t10dif function all to use crypto transform framework"
2013-09-07 12:56:26 +10:00
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
cred.h
crypto.h
cryptohash.h
cryptouser.h
cs5535.h
ctype.h
cuda.h
cyclades.h
cycx_x25.h
davinci_emac.h
dca.h
dcache.h
vfs: reorganize dput() memory accesses
2013-09-08 13:26:18 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugfs: provide debugfs_create_x64() when disabled
2013-08-27 22:09:12 -07:00
debugobjects.h
debugobjects: Make debug_object_activate() return status
2013-08-18 17:39:55 -07:00
delay.h
delayacct.h
devfreq.h
device-mapper.h
dm: add statistics support
2013-09-05 20:46:06 -04:00
device.h
Merge branch 'for-v3.12' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping
2013-09-09 10:26:33 -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
drivers: dma-contiguous: clean source code and prepare for device tree
2013-08-27 09:18:29 +02:00
dma-debug.h
dma-direction.h
dma-mapping.h
drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent
2013-08-29 21:55:23 -04:00
dma_remapping.h
dmaengine.h
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
2013-09-10 13:37:36 -07:00
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
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
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
net: etherdevice: add address inherit helper
2013-09-03 20:57:49 -04:00
ethtool.h
eventfd.h
Kill indirect include of file.h from eventfd.h, use fdget() in cgroup.c
2013-09-07 19:54:57 -04:00
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extcon.h
f2fs_fs.h
f2fs: support the inline xattrs
2013-08-26 20:15:23 +09:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
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
freezer.h
frontswap.h
fs.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2013-09-07 14:35:32 -07:00
fs_enet_pd.h
fs_enet: cleanup clock API use
2013-08-22 22:13:54 -07:00
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
FS-Cache: Add interface to check consistency of a cached object
2013-09-06 09:17:30 +01:00
fscache.h
fscache: Netfs function for cleanup post readpages
2013-09-06 09:17:30 +01:00
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsnotify.h
fsnotify_backend.h
ftrace.h
ftrace_event.h
Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
2013-09-03 07:41:11 +02:00
ftrace_irq.h
futex.h
gameport.h
gcd.h
genalloc.h
generic_acl.h
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
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
video/hdmi: Rename HDMI_IDENTIFIER to HDMI_IEEE_OUI
2013-08-30 08:42:01 +10:00
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
HID: hid-sensor-hub: fix style of comments
2013-08-26 13:46:11 +02:00
hid-sensor-ids.h
HID: hid-sensor-hub: fix style of comments
2013-08-26 13:46:11 +02:00
hid.h
Merge branches 'for-3.12/devm', 'for-3.12/i2c-hid', 'for-3.12/i2c-hid-dt', 'for-3.12/logitech', 'for-3.12/multitouch-win8', 'for-3.12/trasnport-driver-cleanup', 'for-3.12/uhid', 'for-3.12/upstream' and 'for-3.12/wiimote' into for-linus
2013-09-06 11:58:37 +02:00
hiddev.h
hidraw.h
HID: hidraw: Add spinlock in struct hidraw to protect list
2013-08-26 21:40:24 +02:00
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
htirq.h
huge_mm.h
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
i2c: move ACPI helpers into the core
2013-08-23 10:22:29 +02:00
i2o.h
i7300_idle.h
i8042.h
Input: add driver for slidebar on Lenovo IdeaPad laptops
2013-08-26 09:30:03 -07:00
i8253.h
i82593.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
2013-08-29 14:08:24 -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
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
inet_lro.h
inetdevice.h
ipv4: expose IPV4_DEVCONF
2013-08-22 20:30:15 -07:00
init.h
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel_mid_dma.h
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-helper.h
iommu.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
ipv6: drop fragmented ndisc packets by default (RFC 6980)
2013-08-29 15:32:08 -04:00
ipv6_route.h
irq.h
irq_cpustat.h
irq_work.h
irqchip.h
irqdesc.h
irqdomain.h
irqflags.h
irqnr.h
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
jbd.h
jbd2.h
jbd_common.h
jhash.h
jiffies.h
jiffies: Avoid undefined behavior from signed overflow
2013-08-20 11:46:54 -07:00
journal-head.h
joystick.h
jump_label.h
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
kernel_stat.h
kernelcapi.h
kexec.h
key-type.h
key.h
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemcheck.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
sysfs: Restrict mounting sysfs
2013-08-28 21:35:14 -07:00
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h
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
lguest.h
lguest_launcher.h
libata.h
libata: Add support for queued DSM TRIM
2013-08-25 09:39:12 -04:00
libfdt.h
libfdt_env.h
libps2.h
license.h
linkage.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_nulls.h
list_sort.h
llc.h
llist.h
lockdep.h
lockref.h
lockref: add ability to mark lockrefs "dead"
2013-09-07 15:49:18 -07:00
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
math64: New separate div64_u64_rem helper
2013-08-23 09:02:14 -04:00
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
memblock.h
memcontrol.h
memory.h
drivers: base: use standard device online/offline for state change
2013-08-21 11:52:20 -07:00
memory_hotplug.h
mempolicy.h
mm: mempolicy: turn vma_set_policy() into vma_dup_policy()
2013-09-11 15:57:00 -07:00
mempool.h
memstick.h
mg_disk.h
micrel_phy.h
phy: micrel: Add definitions for common Micrel PHY registers
2013-08-22 23:20:54 +08:00
migrate.h
migrate_mode.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h
mm_inline.h
mm_types.h
x86 get_unmapped_area: Access mmap_legacy_base through mm_struct member
2013-08-22 10:19:35 -07:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h
mm: page_alloc: fair zone allocator policy
2013-09-11 15:57:23 -07:00
mnt_namespace.h
mod_devicetable.h
Revert "Input: introduce BTN/ABS bits for drums and guitars"
2013-09-07 09:48:41 -07:00
module.h
module: Fix mod->mkobj.kobj potentially freed too early
2013-09-03 16:35:47 +09:30
moduleloader.h
moduleparam.h
module: Add flag to allow mod params to have no arguments
2013-08-20 15:37:42 +09:30
mount.h
mpage.h
mpi.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
msm_mdp.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mxm-wmi.h
n_r3964.h
namei.h
introduce kern_path_mountpoint()
2013-09-08 20:20:23 -04:00
nbd.h
net.h
netdev_features.h
netdevice.h
net: add documentation for BQL helpers
2013-09-06 14:43:49 -04:00
netfilter.h
netfilter: nf_conntrack: make sequence number adjustments usuable without NAT
2013-08-28 00:26:48 +02:00
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h
nfs_fs.h
NFS: Ensure that rmdir() waits for sillyrenames to complete
2013-09-03 15:26:29 -04:00
nfs_fs_i.h
nfs_fs_sb.h
NFSv4.1 Use MDS auth flavor for data server connection
2013-09-06 14:49:16 -04:00
nfs_idmap.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfs4.1: Minimal SP4_MACH_CRED implementation
2013-09-05 10:40:45 -04:00
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children
2013-08-27 13:52:52 -04:00
ntb.h
nubus.h
numa.h
nvme.h
NVMe: Use normal shutdown
2013-09-03 16:40:32 -04:00
nvram.h
nwpserial.h
nx842.h
of.h
Device tree core updates for v3.12
2013-09-10 13:53:52 -07:00
of_address.h
of_device.h
of/device: add helper to get cpu device node from logical cpu index
2013-08-21 10:29:51 +01:00
of_dma.h
of_fdt.h
Device tree core updates for v3.12
2013-09-10 13:53:52 -07:00
of_gpio.h
of_iommu.h
of_irq.h
of_mdio.h
of_mtd.h
of_net.h
of: Make of_get_phy_mode() return int i.s.o. const int
2013-08-28 20:50:19 +01:00
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
drivers: of: add initialization code for dma reserved memory
2013-08-27 10:53:44 +02:00
oid_registry.h
olpc-ec.h
Staging: olpc_dcon: replace some magic numbers
2013-08-15 17:22:27 -07:00
omap-dma.h
omap-iommu.h
omap-mailbox.h
omapfb.h
oom.h
openvswitch.h
opp.h
oprofile.h
oprofile: get rid of pointless forward declarations of struct super_block
2013-09-03 22:52:48 -04:00
oxu210hp.h
padata.h
page-debug-flags.h
page-flags-layout.h
page-flags.h
page-isolation.h
page_cgroup.h
pageblock-flags.h
pagemap.h
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.h
pci.h
ARM: SoC platform changes for 3.12
2013-09-06 13:30:06 -07:00
pci_hotplug.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2013-09-05 14:54:29 -07:00
pci_ids.h
Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2013-09-04 11:07:04 -07:00
pcieport_if.h
pda_power.h
percpu-defs.h
percpu: Make __verify_pcu_ptr handle per cpu pointers to arrays
2013-08-23 16:08:27 -04:00
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
perf_event.h
Merge branch 'x86-spinlocks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2013-09-04 11:55:10 -07:00
perf_regs.h
personality.h
pfn.h
phonedev.h
phonet.h
phy.h
phy_fixed.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pktcdvd.h
platform_device.h
plist.h
pm.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_qos.h
pm_runtime.h
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: Prevent suspend until power supply events are processed
2013-08-27 18:42:48 -07:00
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
PPS: convert class code to use dev_groups
2013-08-19 21:22:34 -07:00
preempt.h
preempt_mask.h
prefetch.h
printk.h
prio_heap.h
proc_fs.h
proc_ns.h
profile.h
projid.h
proportions.h
pstore.h
pstore: Introduce new argument 'compressed' in the read callback
2013-08-19 10:18:11 -07:00
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
pxa168_eth.h
qnx6_fs.h
quicklist.h
quota.h
quota: Add a new quotactl command Q_XGETQSTATV
2013-08-20 16:53:58 -05:00
quotaops.h
quota: provide interface for readding allocated space into reserved space
2013-08-17 09:32:32 -04:00
radix-tree.h
raid_class.h
ramfs.h
random.h
range.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rculist.h
rculist: list_first_or_null_rcu() should use list_entry_rcu()
2013-08-18 17:40:16 -07:00
rculist_bl.h
rculist_nulls.h
rcupdate.h
nohz_full: Add full-system-idle state machine
2013-08-31 14:43:50 -07:00
rcutiny.h
rcutree.h
reboot.h
reciprocal_div.h
regmap.h
regmap: Updates for v3.12
2013-09-03 10:07:40 -07:00
regset.h
relay.h
remoteproc.h
res_counter.h
reservation.h
reset-controller.h
reset.h
resource.h
resume-trace.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
rndis.h
root_dev.h
rotary_encoder.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h
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
include/linux/sched.h: don't use task->pid/tgid in same_thread_group/has_group_leader_pid
2013-09-11 15:56:56 -07:00
sched_clock.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_file.h
seq_file_net.h
seqlock.h
serial.h
serial_8250.h
serial_core.h
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
sfi.h
sfi_acpi.h
sh_clk.h
sh_dma.h
DMA: shdma: remove private and unused defines from a global header
2013-08-27 14:25:27 +05:30
sh_eth.h
sh_eth: remove 'register_type' field from 'struct sh_eth_plat_data'
2013-08-20 17:10:41 -07:00
sh_intc.h
sh_timer.h
shdma-base.h
DMA: shdma: switch DT mode to use configuration data from a match table
2013-08-27 14:25:09 +05:30
shm.h
shmem_fs.h
shrinker.h
signal.h
Introduce [compat_]save_altstack_ex() to unbreak x86 SMAP
2013-09-01 14:16:33 -07:00
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h
skb: allow skb_scrub_packet() to be used by tunnels
2013-09-04 00:27:25 -04:00
slab.h
slab_def.h
slob_def.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
include/linux/smp.h:on_each_cpu(): switch back to a C function
2013-09-11 15:56:19 -07:00
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.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
stmmac.h
driver:net:stmmac: Disable DMA store and forward mode if platform data force_thresh_dma_mode is set.
2013-08-30 17:26:09 -04:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
string_helpers.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
superhyway.h
suspend.h
svga.h
swab.h
swap.h
swap: make cluster allocation per-cpu
2013-09-11 15:57:17 -07:00
swapfile.h
swapops.h
swiotlb.h
synclink.h
sys.h
sys_soc.h
syscalls.h
syscore_ops.h
sysctl.h
sysfs.h
sysfs: sysfs_create_groups returns a value.
2013-08-28 09:51:41 -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-cpuidle: provide stub when !CONFIG_CPU_IDLE
2013-08-29 13:54:34 -07:00
tegra-powergate.h
tegra-soc.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time-armada-370-xp.h
time.h
timekeeper_internal.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
toshiba.h
tpm.h
tpm_command.h
trace_clock.h
trace_seq.h
tracehook.h
tracepoint.h
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
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2013-09-07 14:35:32 -07:00
uts.h
utsname.h
uuid.h
uwb.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
gpu/vga_switcheroo: add driver control power feature. (v3)
2013-08-29 13:30:21 +10:00
vgaarb.h
i915: Update VGA arbiter support for newer devices
2013-09-03 19:17:59 +02:00
via-core.h
via-gpio.h
via.h
via_i2c.h
video_output.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: vmstats: track TLB flush stats on UP too
2013-09-11 15:57:09 -07:00
vm_sockets.h
vmalloc.h
vme.h
vmpressure.h
Merge branch 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2013-09-03 18:25:03 -07:00
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
[SCSI] zfcp: fix lock imbalance by reworking request queue locking
2013-08-22 08:53:30 -07:00
wanrouter.h
watchdog.h
wireless.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h
ww_mutex.h
xattr.h
xilinxfb.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h