linux-stable/include/linux
Shaohua Li ebc2a1a691 swap: make cluster allocation per-cpu
swap cluster allocation is to get better request merge to improve
performance.  But the cluster is shared globally, if multiple tasks are
doing swap, this will cause interleave disk access.  While multiple tasks
swap is quite common, for example, each numa node has a kswapd thread
doing swap and multiple threads/processes doing direct page reclaim.

ioscheduler can't help too much here, because tasks don't send swapout IO
down to block layer in the meantime.  Block layer does merge some IOs, but
a lot not, depending on how many tasks are doing swapout concurrently.  In
practice, I've seen a lot of small size IO in swapout workloads.

We makes the cluster allocation per-cpu here.  The interleave disk access
issue goes away.  All tasks swapout to their own cluster, so swapout will
become sequential, which can be easily merged to big size IO.  If one CPU
can't get its per-cpu cluster (for example, there is no free cluster
anymore in the swap), it will fallback to scan swap_map.  The CPU can
still continue swap.  We don't need recycle free swap entries of other
CPUs.

In my test (swap to a 2-disk raid0 partition), this improves around 10%
swapout throughput, and request size is increased significantly.

How does this impact swap readahead is uncertain though.  On one side,
page reclaim always isolates and swaps several adjancent pages, this will
make page reclaim write the pages sequentially and benefit readahead.  On
the other side, several CPU write pages interleave means the pages don't
live _sequentially_ but relatively _near_.  In the per-cpu allocation
case, if adjancent pages are written by different cpus, they will live
relatively _far_.  So how this impacts swap readahead depends on how many
pages page reclaim isolates and swaps one time.  If the number is big,
this patch will benefit swap readahead.  Of course, this is about
sequential access pattern.  The patch has no impact for random access
pattern, because the new cluster allocation algorithm is just for SSD.

Alternative solution is organizing swap layout to be per-mm instead of
this per-cpu approach.  In the per-mm layout, we allocate a disk range for
each mm, so pages of one mm live in swap disk adjacently.  per-mm layout
has potential issues of lock contention if multiple reclaimers are swap
pages from one mm.  For a sequential workload, per-mm layout is better to
implement swap readahead, because pages from the mm are adjacent in disk.
But per-cpu layout isn't very bad in this workload, as page reclaim always
isolates and swaps several pages one time, such pages will still live in
disk sequentially and readahead can utilize this.  For a random workload,
per-mm layout isn't beneficial of request merge, because it's quite
possible pages from different mm are swapout in the meantime and IO can't
be merged in per-mm layout.  while with per-cpu layout we can merge
requests from any mm.  Considering random workload is more popular in
workloads with swap (and per-cpu approach isn't too bad for sequential
workload too), I'm choosing per-cpu layout.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Shaohua Li <shli@fusionio.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Kyungmin Park <kmpark@infradead.org>
Cc: Hugh Dickins <hughd@google.com>
Cc: Rafael Aquini <aquini@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-09-11 15:57:17 -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 libceph: fix invalid unsigned->signed conversion for timespec encoding 2013-07-09 12:18:06 -07:00
clk The common clock framework changes for 3.11 include new clock drivers 2013-07-03 11:54:50 -07:00
crush
decompress lib: add support for LZ4-compressed kernel 2013-07-09 10:33:30 -07:00
dma dma: mmp_pdma: add filter function 2013-08-14 13:55:15 +05:30
extcon extcon: Add an API to get extcon device from dt node 2013-08-05 08:52:45 +09:00
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 For the 3.11 merge we only have one new MFD driver for the Kontron PLD. 2013-07-10 11:10:27 -07:00
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: export xt_HMARK.h to userland 2013-08-14 10:48:05 +02:00
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 include: Convert ethernet mac address declarations to use ETH_ALEN 2013-08-02 12:33:54 -07:00
wimax
8250_pci.h
a.out.h
acct.h
acpi.h ACPI / sleep: Introduce acpi_os_prepare_extended_sleep() for extended sleep path 2013-07-31 14:20:39 +02:00
acpi_dma.h
acpi_gpio.h
acpi_io.h
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h PCI changes for the v3.11 merge window: 2013-07-03 16:31:35 -07:00
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 drivers/dma: remove unused support for MEMSET operations 2013-07-03 16:07:42 -07:00
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 ARM: atmel-ssc: change phybase type to dma_addr_t 2013-07-15 11:07:56 +01:00
atmel_pdc.h
atmel_pwm.h
atmel_serial.h serial: at91: distinguish usart and uart 2013-07-29 13:04:12 -07:00
atmel_tc.h
atomic.h
attribute_container.h
audit.h audit: fix mq_open and mq_unlink to add the MQ root as a hidden parent audit_names record 2013-07-09 10:33:19 -07:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev.h
backlight.h backlight: add devm_backlight_device_{register,unregister}() 2013-07-03 16:07:43 -07:00
balloon_compaction.h
basic_mmio_gpio.h
bcd.h
bch.h
bcm47xx_wdt.h
bfin_mac.h
binfmts.h
bio.h xtensa: remove the second argument of __bio_kmap_atomic() 2013-07-08 01:23:15 -07:00
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 mm: kill free_all_bootmem_node() 2013-07-03 16:07:39 -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 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 cgroup: remove bcache_subsys_id which got added stealthily 2013-07-09 16:30:35 -07:00
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 clocksource: Reselect clocksource when watchdog validated high-res capability 2013-07-05 11:09:28 +02:00
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 include/linux/coda.h: remove useless '#else' 2013-07-30 11:11:44 +02:00
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 vtime: Optimize full dynticks accounting off case with static keys 2013-08-14 17:14:54 +02:00
context_tracking_state.h context_tracking: Split low level state headers 2013-08-14 17:14:51 +02:00
cordic.h
coredump.h
cper.h
cpu.h Merge branch 'pm-cpufreq' 2013-08-27 01:44:40 +02:00
cpu_cooling.h thermal: cpu_cooling: fix stub function 2013-07-08 10:13:40 -04:00
cpu_pm.h
cpu_rmap.h
cpufreq.h cpufreq: Drop the owner field from struct cpufreq_driver 2013-08-10 03:24:47 +02:00
cpuidle.h cpuidle: Add missing forward declarations of structures 2013-07-15 02:09:47 +02:00
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 include: Convert ethernet mac address declarations to use ETH_ALEN 2013-08-02 12:33:54 -07:00
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: Allow online change of al-stripes and al-stripe-size 2013-06-28 16:04:36 +02:00
drbd_genl.h drbd: Allow online change of al-stripes and al-stripe-size 2013-06-28 16:04:36 +02:00
drbd_genl_api.h
drbd_limits.h drbd: Allow online change of al-stripes and al-stripe-size 2013-06-28 16:04:36 +02:00
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-06 14:09:38 -07:00
dw_dmac.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h EDAC: Fix lockdep splat 2013-07-23 16:01:28 -07:00
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-06 14:09:38 -07:00
efs_vh.h
eisa.h
elevator.h elevator: Fix a race in elevator switching 2013-07-03 13:25:24 +02:00
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h PTR_RET is now PTR_ERR_OR_ZERO 2013-07-15 11:25:00 +09:30
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 fb: make fp_get_options name argument const 2013-06-27 16:53:30 +08:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-06-19 16:49:39 -07:00
fips.h
firewire.h firewire: fix libdc1394/FlyCap2 iso event regression 2013-07-27 20:24:36 +02:00
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
fmc-sdb.h
fmc.h fmc: avoid readl/writel namespace conflict 2013-06-19 20:30:32 -07:00
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 Replace a bunch of file->dentry->d_inode refs with file_inode() 2013-06-29 12:57:13 +04:00
fsnotify_backend.h
ftrace.h tracing: Disable tracing on warning 2013-06-19 23:32:07 -04:00
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 include/linux/gfp.h: fix the comment for GFP_ZONE_TABLE 2013-07-09 10:33:21 -07:00
gpio-fan.h
gpio-pxa.h
gpio.h
gpio_keys.h
gpio_mouse.h
gsmmux.h
hardirq.h hardirq: Split preempt count mask definitions 2013-08-14 17:14:52 +02:00
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 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-07-04 10:29:23 -07:00
hugetlb.h mm/hugetlb: remove hugetlb_prefault 2013-07-03 16:07:32 -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: remove HV_DRV_VERSION 2013-08-02 11:34:30 +08: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: 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 macvtap: Let TUNSETOFFLOAD actually controll offload features. 2013-06-25 16:44:56 -07:00
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_team.h team: add support for sending multicast rejoins 2013-07-23 16:52:47 -07:00
if_tun.h
if_tunnel.h
if_vlan.h vlan: mask vlan prio bits 2013-07-18 13:05:23 -07:00
igmp.h net: convert resend IGMP to notifier event 2013-07-23 16:52:47 -07:00
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.h: remove __cpuinit sections from the kernel 2013-06-26 12:13:18 -04:00
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 genirq: Add irq_get_trigger_type() to get IRQ flags 2013-06-25 11:48:24 +02:00
irq_cpustat.h
irq_work.h
irqchip.h
irqdesc.h
irqdomain.h irqdomain: make irq_linear_revmap() a fast path again 2013-06-24 14:02:41 +01:00
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 jbd: use a single printk for jbd_debug() 2013-08-09 10:49:00 +02:00
jbd2.h jbd2: invalidate handle if jbd2_journal_restart() fails 2013-07-01 08:12:41 -04:00
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: Split jumplabel ratelimit 2013-08-09 07:53:54 -07:00
jump_label_ratelimit.h jump_label: Split jumplabel ratelimit 2013-08-09 07:53:54 -07:00
jz4740-adc.h
kallsyms.h
kbd_diacr.h
kbd_kern.h tty: Remove dead code 2013-07-26 16:19:48 -07:00
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 tracing: Fix trace_dump_stack() proto when CONFIG_TRACING is not set 2013-08-02 22:38:10 -04:00
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: delayed kobject release: help find buggy drivers 2013-07-25 15:39:04 -07:00
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 ktime: fix some scripts/kernel-doc warnings 2013-07-25 12:35:39 +02:00
kvm_host.h KVM: s390: Make KVM_HVA_ERR_BAD usable on s390 2013-07-29 09:03:53 +02:00
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h lcd: add devm_lcd_device_{register,unregister}() 2013-07-03 16:07:43 -07:00
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 linked-list: Remove __list_for_each 2013-07-16 22:00:14 -07:00
list_bl.h
list_nulls.h
list_sort.h
llc.h
llist.h tty: Use lockless flip buffer free list 2013-07-23 16:47:08 -07:00
lockdep.h lockdep: Introduce lock_acquire_exclusive()/shared() helper macros 2013-07-12 13:51:18 +02:00
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 lib: add lz4 compressor module 2013-07-09 10:33:30 -07:00
lzo.h
m48t86.h
mISDNdsp.h
mISDNhw.h
mISDNif.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 bus: mvebu-mbus: Remove the no longer used name-based API 2013-08-06 14:10:45 +00:00
mc6821.h
mc146818rtc.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
memblock.h
memcontrol.h cgroup: pass around cgroup_subsys_state instead of cgroup in file methods 2013-08-08 20:11:24 -04:00
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
mm.h Merge branch 'x86/mce' into x86/ras 2013-08-12 17:54:05 +02:00
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 mm: tune vm_committed_as percpu_counter batching size 2013-07-03 16:07:32 -07:00
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h mm: remove unused functions is_{normal_idx, normal, dma32, dma} 2013-07-09 10:33:22 -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 vfs: Lock in place mounts from more privileged users 2013-07-24 09:14:46 -07:00
mpage.h
mpi.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h of: pci: add registry of MSI chips 2013-08-12 15:27:01 +00:00
msm_mdp.h
mutex-debug.h mutex: Add support for wound/wait style locks 2013-06-26 12:10:56 +02:00
mutex.h mutex: Move ww_mutex definitions to ww_mutex.h 2013-07-12 12:07:46 +02:00
mv643xx.h
mv643xx_eth.h include: Convert ethernet mac address declarations to use ETH_ALEN 2013-08-02 12:33:54 -07:00
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 nbd: correct disconnect behavior 2013-07-03 16:08:05 -07:00
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 netlink: fix splat in skb_clone with large messages 2013-06-27 22:44:16 -07:00
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 watchdog: Rename confusing state variable 2013-06-20 15:41:18 +02:00
node.h
nodemask.h numa: Mark __node_set() as __always_inline 2013-07-25 21:54:01 +02:00
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: pci: add registry of MSI chips 2013-08-12 15:27:01 +00:00
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 mm/pageblock: remove get/set_pageblock_flags 2013-07-03 16:07:32 -07:00
pagemap.h
pagevec.h mm: remove lru parameter from __pagevec_lru_add and remove parts of pagevec API 2013-07-03 16:07:31 -07:00
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h ACPI / PCI: Make bus registration and unregistration symmetric 2013-07-23 03:58:42 +02:00
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 kernel/fork.c:copy_process(): don't add the uninitialized child to thread/task/pid lists 2013-07-03 16:08:03 -07:00
pid_namespace.h
pim.h
pipe_fs_i.h
pktcdvd.h
platform_device.h Device tree updates for v3.11 2013-07-04 15:51:45 -07:00
plist.h
pm.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_qos.h
pm_runtime.h
pm_wakeup.h PM / Sleep: Fix comment typo in pm_wakeup.h 2013-07-15 01:31:37 +02:00
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix-clock.h
posix-timers.h posix_cpu_timer: consolidate expiry time type 2013-07-03 16:16:20 +02:00
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 hardirq: Split preempt count mask definitions 2013-08-14 17:14:52 +02:00
prefetch.h
printk.h x86, asmlinkage: Make dump_stack visible 2013-08-06 14:21:01 -07:00
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 ptrace: revert "Prepare to fix racy accesses on task breakpoints" 2013-07-09 10:33:26 -07:00
pvclock_gtod.h timekeeping: Indicate that clock was set in the pvclock gtod notifier 2013-06-28 23:15:06 +02:00
pwm.h pwm: Add sysfs interface 2013-06-21 11:32:51 +02:00
pwm_backlight.h
pxa2xx_ssp.h ARM: pxa: ssp: add pxa_ssp_request_of() 2013-08-14 19:54:30 +01:00
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 reboot: move arch/x86 reboot= handling to generic kernel 2013-07-09 10:33:29 -07:00
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 mutex: Move ww_mutex definitions to ww_mutex.h 2013-07-12 12:07:46 +02:00
reset-controller.h
reset.h
resource.h
resume-trace.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
ring_buffer.h
rio.h rapidio: change endpoint device name format 2013-07-03 16:08:05 -07:00
rio_drv.h
rio_ids.h rapidio: add udev notification 2013-07-03 16:08:05 -07:00
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 lib/scatterlist: introduce sg_pcopy_from_buffer() and sg_pcopy_to_buffer() 2013-07-09 10:33:30 -07:00
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 xattr: Constify ->name member of "struct xattr". 2013-07-25 19:30:03 +10:00
selection.h
selinux.h
sem.h ipc/sem.c: replace shared sem_otime with per-semaphore value 2013-07-09 10:33:28 -07:00
semaphore.h
seq_file.h seq_file: add seq_list_*_percpu helpers 2013-07-08 13:36:41 +04:00
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: add kmalloc() to kernel API documentation 2013-07-07 19:02:59 +03:00
slab_def.h
slob_def.h slab: add kmalloc() to kernel API documentation 2013-07-07 19:02:59 +03:00
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 include: Convert ethernet mac address declarations to use ETH_ALEN 2013-08-02 12:33:54 -07:00
smscphy.h
sock_diag.h
socket.h net: move iov_pages() to net/core/iovec.c 2013-08-07 16:52:33 -07:00
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h sched: fix the theoretical signal_wake_up() vs schedule() race 2013-08-13 08:19:26 -07:00
spinlock_api_smp.h spinlock_api_smp.h: fix preprocessor comments 2013-06-19 23:34:50 +02:00
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h splice: don't pass the address of ->f_pos to methods 2013-06-20 19:02:45 +04:00
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 PM / Sleep: Print last wakeup source on failed wakeup_count write 2013-06-21 00:35:12 +02:00
svga.h
swab.h
swap.h swap: make cluster allocation per-cpu 2013-09-11 15:57:17 -07:00
swapfile.h
swapops.h mm: save soft-dirty bits on swapped pages 2013-08-13 17:57:47 -07:00
swiotlb.h
synclink.h
sys.h
sys_soc.h
syscalls.h microblaze: fix clone syscall 2013-08-13 17:57:48 -07:00
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 tcp: Remove unused tcpct declarations and comments 2013-07-31 12:16:45 -07:00
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 Merge branch 'timers/nohz-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/nohz 2013-08-14 17:58:56 +02:00
tifm.h
timb_dma.h
timb_gpio.h
time-armada-370-xp.h clocksource: time-armada-370-xp: Fix sparse warning 2013-06-24 17:47:21 -07:00
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 tracing: Add DEFINE_EVENT_FN() macro 2013-06-20 22:24:32 -07:00
transport_class.h
tsacct_kern.h
tty.h tty: Fix lock order in tty_do_resize() 2013-07-24 15:12:53 -07:00
tty_driver.h
tty_flip.h tty: Fix unsafe vt paste_selection() 2013-07-23 16:47:10 -07:00
tty_ldisc.h tty: Make ldisc input flow control concurrency-friendly 2013-07-23 16:42:59 -07:00
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: introduce usb_device_no_sg_constraint() helper 2013-08-12 11:56:16 -07:00
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 reboot: arm: change reboot_mode to use enum reboot_mode 2013-07-09 10:33:29 -07:00
vfio.h vfio: add external user support 2013-08-05 10:52:36 -06:00
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 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-07-09 18:24:39 -07:00
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_mmio.h
virtio_ring.h virtio: include asm/barrier explicitly 2013-07-09 10:47:53 +09:30
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 mm/vmalloc.c: rename VM_UNLIST to VM_UNINITIALIZED 2013-07-09 10:33:21 -07:00
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 vtime: Optimize full dynticks accounting off case with static keys 2013-08-14 17:14:54 +02:00
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 workqueue: mark WQ_NON_REENTRANT deprecated 2013-07-30 08:30:16 -04:00
writeback.h mm/writeback: commit reason of WB_REASON_FORKER_THREAD mismatch name 2013-07-09 10:33:22 -07:00
ww_mutex.h mutex: Move ww_mutex definitions to ww_mutex.h 2013-07-12 12:07:46 +02:00
xattr.h xattr: Constify ->name member of "struct xattr". 2013-07-25 19:30:03 +10:00
xilinxfb.h
xz.h
yam.h
z2_battery.h
zbud.h zbud: add to mm/ 2013-07-10 18:11:34 -07:00
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h