twx-linux/include/linux
Darrick J. Wong 1d1d1a7672 mm: only enforce stable page writes if the backing device requires it
Create a helper function to check if a backing device requires stable
page writes and, if so, performs the necessary wait.  Then, make it so
that all points in the memory manager that handle making pages writable
use the helper function.  This should provide stable page write support
to most filesystems, while eliminating unnecessary waiting for devices
that don't require the feature.

Before this patchset, all filesystems would block, regardless of whether
or not it was necessary.  ext3 would wait, but still generate occasional
checksum errors.  The network filesystems were left to do their own
thing, so they'd wait too.

After this patchset, all the disk filesystems except ext3 and btrfs will
wait only if the hardware requires it.  ext3 (if necessary) snapshots
pages instead of blocking, and btrfs provides its own bdi so the mm will
never wait.  Network filesystems haven't been touched, so either they
provide their own stable page guarantees or they don't block at all.
The blocking behavior is back to what it was before 3.0 if you don't
have a disk requiring stable page writes.

Here's the result of using dbench to test latency on ext2:

3.8.0-rc3:
 Operation      Count    AvgLat    MaxLat
 ----------------------------------------
 WriteX        109347     0.028    59.817
 ReadX         347180     0.004     3.391
 Flush          15514    29.828   287.283

Throughput 57.429 MB/sec  4 clients  4 procs  max_latency=287.290 ms

3.8.0-rc3 + patches:
 WriteX        105556     0.029     4.273
 ReadX         335004     0.005     4.112
 Flush          14982    30.540   298.634

Throughput 55.4496 MB/sec  4 clients  4 procs  max_latency=298.650 ms

As you can see, the maximum write latency drops considerably with this
patch enabled.  The other filesystems (ext3/ext4/xfs/btrfs) behave
similarly, but see the cover letter for those results.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Acked-by: Steven Whitehouse <swhiteho@redhat.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Artem Bityutskiy <dedekind1@gmail.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Eric Van Hensbergen <ericvh@gmail.com>
Cc: Ron Minnich <rminnich@sandia.gov>
Cc: Latchesar Ionkov <lucho@ionkov.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-02-21 17:22:19 -08:00
..
amba ARM: 7588/1: amba: create a resource parent registrator 2012-12-03 11:15:35 +00:00
bcma Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2013-02-08 13:16:17 -05:00
byteorder
can can: rework skb reserved data handling 2013-01-28 18:17:25 -05:00
ceph Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client 2012-12-20 14:00:13 -08:00
clk clk: sunxi: Use common of_clk_init() function 2013-01-24 11:12:23 -08:00
crush
decompress
dma
extcon
fsl
hsi UAPI: Remove empty Kbuild files 2013-01-02 17:36:10 -08:00
i2c Merge branch 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux 2012-12-18 16:51:10 -08:00
iio iio:imu: Add support for the ADIS16480 and similar IMUs 2012-11-20 21:28:51 +00:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2013-02-20 11:00:43 -08:00
irqchip ARM: arm-soc: Device-tree updates, take 2 2012-12-14 14:42:53 -08:00
isdn
lockd
mfd - Four new drivers: 2013-02-20 10:19:07 -08:00
mlx4 net/mlx4: Move Ethernet related functionality from mlx4_core to mlx4_en 2013-02-07 23:26:12 -05:00
mmc MMC highlights for 3.8: 2012-12-11 11:19:09 -08:00
mtd mtd: nand: add NAND_BUSWIDTH_AUTO to autodetect bus width 2012-12-03 16:36:52 +02:00
netfilter netfilter: nfnetlink: add mutex per subsystem 2013-02-05 04:07:35 +01:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jesse/openvswitch 2012-11-30 12:01:30 -05:00
nfsd
pinctrl pinctrl: generic: rename input schmitt disable 2013-02-15 09:52:29 +01:00
platform_data Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-02-20 18:58:50 -08:00
power bq2415x_charger: Add support for offline and 100mA mode 2013-02-16 13:34:10 -08:00
raid UAPI: Remove empty Kbuild files 2013-01-02 17:36:10 -08:00
regulator regulator: core: Allow specify apply_[reg|bit] for regmap based voltage_sel operations 2012-12-24 16:34:11 +00:00
rtc
sched sched/rt: Move rt specific bits into new header file 2013-02-07 20:51:08 +01:00
spi spi: Document cs_gpios and cs_gpio in kernel-doc 2013-02-11 00:05:31 +00:00
ssb Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2013-02-08 13:16:17 -05:00
sunrpc SUNRPC: Nuke the tk_xprt macro 2013-02-01 10:13:48 -05:00
tc_act
unaligned
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-02-09 07:55:24 +11:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_gpio.h gpio / ACPI: add ACPI support 2012-11-30 12:37:36 +01:00
acpi_io.h
acpi_pmtmr.h
acpi.h ACPI: Remove the use of CONFIG_ACPI_CONTAINER_MODULE 2013-02-13 13:46:45 +01:00
adb.h
adfs_fs.h
aer.h aerdrv: Enhanced AER logging 2013-01-03 14:34:06 -08: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_bios.h
apm-emulation.h
apple_bl.h
arcdevice.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1.h ASN.1: Define indefinite length marker constant 2012-12-14 13:06:41 +10:30
async_tx.h
async.h async: keep pending tasks on async_domain and remove async_pending 2013-01-23 09:32:30 -08:00
ata_platform.h include: remove __dev* attributes. 2013-01-03 15:57:16 -08:00
ata.h [libata] replace sata_settings with devslp_timing 2013-01-14 13:29:15 -05:00
atalk.h
ath9k_platform.h ath9k: allow to load EEPROM content via firmware API 2012-12-10 15:49:57 -05:00
atm_suni.h
atm_tcp.h
atm.h
atmdev.h atm: add release_cb() callback to vcc 2012-12-02 00:05:12 +00:00
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h ASoC: atmel-ssc: add phybase in device structure 2012-11-20 18:18:52 +09:00
atomic.h
attribute_container.h
audit.h linux/audit.h: move ptrace.h include to kernel header 2013-01-11 14:54:56 -08:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev.h bdi: allow block devices to say that they require stable page writes 2013-02-21 17:22:19 -08:00
backlight.h backlight: add of_find_backlight_by_node() 2012-12-17 17:15:16 -08:00
balloon_compaction.h mm: introduce a common interface for balloon pages mobility 2012-12-11 17:22:26 -08:00
basic_mmio_gpio.h
bcd.h
bch.h
bcm47xx_wdt.h ssb/bcma: add common header for watchdog 2012-12-06 14:58:56 -05:00
bcm2835_timer.h
bfin_mac.h
binfmts.h Merge branch 'akpm' (Andrew's patch-bomb) 2012-12-20 20:00:43 -08:00
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk_types.h
blk-iopoll.h
blkdev.h blk: avoid divide-by-zero with zero discard granularity 2012-12-19 07:18:35 -08:00
blktrace_api.h
blockgroup_lock.h
bma150.h Input: bma150 - make some defines public and fix some comments 2013-02-15 18:52:45 -08:00
bootmem.h mm/bootmem.c: remove unused wrapper function reserve_bootmem_generic() 2012-12-12 17:38:35 -08:00
bottom_half.h
brcmphy.h
bsearch.h
bsg-lib.h bsg: Remove unused function bsg_goose_queue() 2012-12-06 14:33:02 +01:00
bsg.h
btree-128.h
btree-type.h
btree.h
buffer_head.h
bug.h bug.h, compiler.h: introduce compiletime_assert & BUILD_BUG_ON_MSG 2013-02-21 17:22:16 -08:00
c2port.h
cache.h
capability.h
cb710.h
cciss_ioctl.h
cdev.h
cdrom.h
cfag12864b.h
cgroup_subsys.h
cgroup.h cgroup: remove synchronize_rcu() from cgroup_diput() 2013-01-24 12:05:18 -08:00
circ_buf.h
cleancache.h
clk-private.h
clk-provider.h clk: add common of_clk_init() function 2013-01-24 11:09:28 -08:00
clk.h
clkdev.h
clksrc-dbx500-prcmu.h
clockchips.h clockevents: Add generic timer broadcast function 2013-01-31 22:15:36 +01:00
clocksource.h
cm4000_cs.h
cn_proc.h
cnt32_to_63.h
coda_psdev.h
coda.h
com20020.h
compaction.h mm: compaction: partially revert capture of suitable high-order page 2013-01-11 14:54:56 -08:00
compat.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
compiler-gcc3.h compiler-gcc{3,4}.h: Use GCC_VERSION macro 2013-02-21 17:22:15 -08:00
compiler-gcc4.h compiler{,-gcc4}.h, bug.h: Remove duplicate macros 2013-02-21 17:22:15 -08:00
compiler-gcc.h compiler-gcc.h: Add gcc-recommended GCC_VERSION macro 2013-02-21 17:22:15 -08:00
compiler-intel.h byteorder: allow arch to opt to use GCC intrinsics for byteswapping 2012-12-06 01:22:31 +00:00
compiler.h bug.h, compiler.h: introduce compiletime_assert & BUILD_BUG_ON_MSG 2013-02-21 17:22:16 -08:00
completion.h
concap.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
context_tracking.h context_tracking: Export context state for generic vtime 2013-01-26 17:37:17 +01:00
cordic.h
coredump.h do_coredump(): get rid of pt_regs argument 2012-11-29 00:01:25 -05:00
cper.h
cpu_cooling.h thermal: cpu cooling: allow module builds 2012-11-22 15:59:52 +08:00
cpu_pm.h
cpu_rmap.h lib: cpu_rmap: avoid flushing all workqueues 2013-01-11 14:54:54 -08:00
cpu.h
cpufreq.h cpufreq: Remove unnecessary use of policy->shared_type 2013-02-02 01:29:32 +01:00
cpuidle.h cpuidle: remove vestage definition of cpuidle_state_usage.driver_data 2013-02-11 18:49:51 -05:00
cpumask.h
cpuset.h cpuset: use N_MEMORY instead N_HIGH_MEMORY 2012-12-12 17:38:32 -08:00
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h cred: Remove tgcred pointer from struct cred 2013-01-09 08:26:53 -08: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 vfs: remove DCACHE_NEED_LOOKUP 2012-12-20 13:57:36 -05:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
devfreq.h PM / devfreq: remove compiler error when a governor is module 2012-11-26 19:17:44 +09:00
device_cgroup.h
device-mapper.h dm: remove map_info 2012-12-21 20:23:41 +00:00
device.h drivers/pinctrl: grab default handles from device core 2013-01-23 16:39:51 +01:00
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm_plock.h
dlm.h various: Fix spelling of "asynchronous" in comments. 2012-11-19 14:32:13 +01:00
dm9000.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dma_remapping.h
dma-attrs.h common: DMA-mapping: add DMA_ATTR_FORCE_CONTIGUOUS attribute 2012-11-29 03:30:34 -08:00
dma-buf.h dma-buf: remove fallback for !CONFIG_DMA_SHARED_BUFFER 2012-12-20 12:05:06 +05:30
dma-contiguous.h drivers: cma: represent physical addresses as phys_addr_t 2012-12-11 09:28:09 +01:00
dma-debug.h
dma-direction.h
dma-mapping.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd_genl_api.h
drbd_genl.h
drbd_limits.h
drbd.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 EDAC: Fix csrow size reported in sysfs 2012-11-28 11:54:40 +01:00
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h A few fixes to reduce places where pstore might hang 2013-02-21 09:38:18 -08:00
efs_vh.h
eisa.h
elevator.h init, block: try to load default elevator module early during boot 2013-01-18 14:05:56 -08:00
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h net: split eth_mac_addr for better error handling 2013-01-21 14:07:44 -05:00
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h Merge branch 'for-3.8' of git://linux-nfs.org/~bfields/linux 2012-12-20 14:04:11 -08:00
ext2_fs.h
extcon.h extcon: kernel_doc style fix 2012-11-22 13:43:27 +09:00
f2fs_fs.h f2fs: introduce accessor to retrieve number of dentry slots 2012-12-11 13:43:45 +09:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h kill daemonize() 2012-11-28 21:49:02 -05:00
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
font.h
freezer.h suspend: enable freeze timeout configuration through sys 2013-02-09 22:32:48 +01:00
frontswap.h
fs_enet_pd.h
fs_stack.h
fs_struct.h kill daemonize() 2012-11-28 21:49:02 -05:00
fs_uart_pd.h
fs.h mm: minor cleanup of iov_iter_single_seg_count() 2013-01-24 16:21:27 +01:00
fscache-cache.h FS-Cache: Mark cancellation of in-progress operation 2012-12-20 22:34:00 +00:00
fscache.h FS-Cache: Provide proper invalidation 2012-12-20 22:04:07 +00:00
fsl_devices.h
fsl_hypervisor.h
fsl-diu-fb.h drivers/video: fsl-diu-fb: add support for set_gamma ioctls 2012-11-26 13:41:19 -06:00
fsnotify_backend.h fsnotify: make fasync generic for both inotify and fanotify 2012-12-11 13:44:36 -05:00
fsnotify.h
ftrace_event.h tracing: Make a snapshot feature available from userspace 2013-01-30 11:02:06 -05:00
ftrace_irq.h
ftrace.h ftrace: Move ARCH_SUPPORTS_FTRACE_SAVE_REGS in Kconfig 2013-01-21 13:22:35 -05:00
futex.h
gameport.h
gcd.h
genalloc.h
generic_acl.h
genetlink.h
genhd.h block: store partition_meta_info.uuid as a string 2012-11-23 14:28:53 +01:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm: allocate kernel pages to the right memcg 2012-12-18 15:02:12 -08:00
gpio_keys.h
gpio_mouse.h
gpio-fan.h
gpio-pxa.h
gpio.h gpiolib: rename pin range arguments 2012-11-21 10:07:48 +01:00
gsmmux.h
hardirq.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-02-19 18:19:48 -08:00
hash.h propagate name change to comments in kernel source 2012-12-06 10:39:54 +01:00
hashtable.h
hdlc.h
hdlcdrv.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h HID: sensors: autodetect USB HID sensor hubs 2012-12-12 16:49:10 +01:00
hid.h Merge branches 'for-3.7/upstream-fixes', 'for-3.8/hidraw', 'for-3.8/i2c-hid', 'for-3.8/multitouch', 'for-3.8/roccat', 'for-3.8/sensors' and 'for-3.8/upstream' into for-linus 2012-12-12 21:41:55 +01:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
htirq.h
huge_mm.h Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
hugetlb_cgroup.h mm/hugetlb: create hugetlb cgroup file in hugetlb_init 2012-12-18 15:02:15 -08:00
hugetlb_inline.h
hugetlb.h Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
hw_breakpoint.h perf: Make perf build for x86 with UAPI disintegration applied 2012-11-19 22:21:03 +00:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h hwmon: Retire SENSORS_LIMIT 2013-01-25 21:03:54 -08:00
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: omap: Remove the OMAP_I2C_FLAG_RESET_REGS_POSTIDLE flag 2012-11-28 11:36:32 +01:00
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-tegra.h
i2c-xiic.h
i2c.h i2c / ACPI: add ACPI enumeration support 2012-11-23 12:23:40 +01:00
i2o.h
i7300_idle.h
i8042.h
i8253.h
i82593.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h mac80211: advertise operating mode notification capability 2013-02-15 09:41:42 +01: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: add multicast filter 2013-02-06 15:59:47 -05:00
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_team.h team: allow userspace to take control over carrier 2013-02-06 15:48:09 -05:00
if_tun.h
if_tunnel.h net: unify for_each_ip_tunnel_rcu() 2012-11-14 18:49:50 -05:00
if_vlan.h
igmp.h
ihex.h
ima.h ima: support new kernel module syscall 2012-12-14 13:05:26 +10:30
in6.h ipv6: by default join ff01::1 and in case of forwarding ff01::2 and ff05:2 2013-02-11 14:16:26 -05:00
in.h
inet_diag.h
inet_lro.h
inet.h
inetdevice.h ipv4: introduce address lifetime 2013-01-29 13:59:57 -05:00
init_ohci1394_dma.h
init_task.h sched/rt: Add <linux/sched/rt.h> header to <linux/init_task.h> 2013-02-19 08:06:01 +01:00
init.h Merge branch 'master' into for-3.9-async 2013-01-23 09:31:01 -08:00
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel_mid_dma.h
intel_pmic_gpio.h
intel-iommu.h
interrupt.h lib: cpu_rmap: avoid flushing all workqueues 2013-01-11 14:54:54 -08:00
interval_tree_generic.h
interval_tree.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 net: Add support for hardware-offloaded encapsulation 2012-12-09 00:20:28 -05:00
ipack.h ipack: remove use of __devinitconst 2012-11-21 15:09:26 -08:00
ipc_namespace.h ipc: add sysctl to specify desired next object id 2013-01-04 16:11:45 -08:00
ipc.h
ipmi_smi.h various: Fix spelling of "asynchronous" in comments. 2012-11-19 14:32:13 +01:00
ipmi.h
ipv6_route.h
ipv6.h ipv6 flowlabel: Convert np->ipv6_fl_list to RCU. 2013-01-30 22:41:13 -05:00
irq_cpustat.h
irq_work.h Merge branch 'nohz/printk-v8' into irq/core 2013-02-05 00:48:46 +01:00
irq.h x86, msi: Use IRQ remapping specific setup_msi_irqs routine 2013-01-28 12:17:25 +01:00
irqdesc.h
irqdomain.h
irqflags.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
jbd2.h ext4: fix deadlock in journal_unmap_buffer() 2012-12-25 13:29:52 -05:00
jbd_common.h
jbd.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jz4740-adc.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kcmp.h
kconfig.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel_stat.h cputime: Generic on-demand virtual cputime accounting 2013-01-27 19:23:27 +01:00
kernel-page-flags.h
kernel.h linux/kernel.h: fix DIV_ROUND_CLOSEST with unsigned divisors 2012-12-20 17:40:20 -08:00
kernelcapi.h
kexec.h
key-type.h
key.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2012-12-16 15:40:50 -08:00
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmalloc_sizes.h
kmemcheck.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h kobject: remove CONFIG_HOTPLUG ifdefs 2012-11-28 10:33:03 -08:00
kprobes.h kprobes/x86: Move ftrace-based kprobe code into kprobes-ftrace.c 2013-01-21 13:22:36 -05:00
kref.h kref: Implement kref_get_unless_zero v3 2012-11-20 16:15:02 +10:00
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h cputime: Safely read cputime of full dynticks CPUs 2013-01-27 20:35:47 +01:00
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-lm3530.h
leds_pwm.h
leds-bd2802.h
leds-lp3944.h
leds-lp5521.h
leds-lp5523.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h led: Add dependency on CONFIG_LEDS_TRIGGERS to led_trigger_rename_static() 2012-11-26 14:28:51 -08:00
lglock.h
lguest_launcher.h
lguest.h
libata.h [libata] replace sata_settings with devslp_timing 2013-01-14 13:29:15 -05:00
libfdt_env.h
libfdt.h
libps2.h Input: increase struct ps2dev cmdbuf[] to 8 bytes 2013-01-06 01:11:25 -08:00
license.h
linkage.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_nulls.h
list_sort.h
list.h
llc.h
llist.h llist/xen-blkfront: implement safe version of llist_for_each_entry 2012-12-17 21:55:56 -05:00
lockdep.h lockdep: make lockdep_assert_held() not have a return value 2013-02-21 17:22:19 -08:00
log2.h
loop.h loop: Limit the number of requests in the bio list 2012-11-30 11:48:05 +01:00
lp.h
lru_cache.h Merge branch 'for-3.8/drivers' of git://git.kernel.dk/linux-block 2012-12-17 13:39:11 -08:00
lsm_audit.h
lzo.h
m48t86.h
mailbox.h ARM / highbank: add support for pl320 IPC 2013-02-02 00:01:15 +01:00
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
memblock.h
memcontrol.h memcg: fix typo in kmemcg cache walk macro 2013-02-05 20:38:48 +11:00
memory_hotplug.h mm, memory-hotplug: dynamic configure movable memory and portion memory 2012-12-11 17:22:28 -08:00
memory.h hotplug: update nodemasks management 2012-12-12 17:38:33 -08:00
mempolicy.h mm: mempolicy: Convert shared_policy mutex to spinlock 2013-01-02 17:32:13 -08:00
mempool.h
memstick.h
mg_disk.h
micrel_phy.h drivers/net/phy/micrel_phy: Add support for new PHYs 2013-01-28 18:42:10 -05:00
migrate_mode.h
migrate.h Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
mii.h
miscdevice.h [SCSI] miscdevice: Adding support for MPT3SAS_MINOR(222) 2012-12-01 10:07:54 +00:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h
mm_types.h Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux 2012-12-18 10:56:07 -08:00
mm.h mm: compaction: partially revert capture of suitable high-order page 2013-01-11 14:54:56 -08:00
mman.h mm: export a function to get vm committed memory 2012-11-15 15:41:22 -08:00
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mm: fix wrong comments about anon_vma lock 2013-02-05 20:38:48 +11:00
mmzone.h mm: fix zone_watermark_ok_safe() accounting of isolated pages 2013-01-04 16:11:46 -08:00
mnt_namespace.h vfs: Add a user namespace reference from struct mnt_namespace 2012-11-19 05:59:19 -08:00
mod_devicetable.h
module.h module: add new state MODULE_STATE_UNFORMED. 2013-01-12 13:27:05 +10:30
moduleloader.h
moduleparam.h moduleparam: use __UNIQUE_ID() 2012-12-14 13:06:40 +10:30
mount.h
mpage.h
mpi.h
mroute6.h mcast: define and use MRT[6]_MAX in ip[6]_mroute_opt() 2013-01-21 13:55:14 -05:00
mroute.h mcast: define and use MRT[6]_MAX in ip[6]_mroute_opt() 2013-01-21 13:55:14 -05:00
msdos_fs.h
msg.h selftests: IPC message queue copy feature test 2013-01-04 16:11:45 -08:00
msi.h
msm_mdp.h
mutex-debug.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mxm-wmi.h
mxsfb.h
n_r3964.h
namei.h namei.h: include errno.h 2012-12-25 18:45:06 -05:00
nbd.h
net.h
netdev_features.h v4 GRE: Add TCP segmentation offload for GRE 2013-02-15 15:17:11 -05:00
netdevice.h net: fix a build failure when !CONFIG_PROC_FS 2013-02-19 13:18:13 -05:00
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink.h
netpoll.h netpoll: Fix __netpoll_rcu_free so that it can hold the rtnl lock 2013-02-11 19:19:33 -05:00
nfs3.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h NFSv4.1: Move slot table and session struct definitions to nfs4session.h 2012-12-06 00:30:46 +01:00
nfs_fs.h
nfs_idmap.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h NFSv4.1: Move the RPC timestamp out of the slot. 2012-12-15 15:21:52 -05:00
nfs.h
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h
node.h mm: cleanup register_node() 2012-12-11 17:22:27 -08:00
nodemask.h numa: add CONFIG_MOVABLE_NODE for movable-dedicated node 2012-12-12 17:38:34 -08:00
notifier.h
nsc_gpio.h
nsproxy.h userns: Implement unshare of the user namespace 2012-11-20 04:18:14 -08:00
nubus.h
numa.h
nvme.h
nvram.h
nwpserial.h
nx842.h
of_address.h of/address: sparc: Declare of_iomap as an extern function for sparc again 2012-11-23 22:01:15 +00:00
of_device.h
of_fdt.h
of_gpio.h gpio: Make of_count_named_gpios() use new of_count_phandle_with_args() 2013-02-13 10:11:53 +00:00
of_i2c.h of/i2c: add dummy inline functions for when CONFIG_OF_I2C(_MODULE) isn't defined 2012-12-11 17:30:16 +00:00
of_iommu.h
of_irq.h
of_mdio.h
of_mtd.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h of: define struct device in of_platform.h if !OF_DEVICE and !OF_ADDRESS 2012-12-19 16:15:17 +00:00
of_serial.h
of.h of: Create function for counting number of phandles in a property 2013-02-13 10:09:31 +00:00
oid_registry.h
olpc-ec.h
omap-dma.h ARM: OMAP: Move plat-omap/dma-omap.h to include/linux/omap-dma.h 2012-11-30 08:41:50 -08:00
omap-iommu.h ARM: OMAP2+: Move plat/iovmm.h to include/linux/omap-iommu.h 2012-11-20 10:04:29 -08:00
omapfb.h
oom.h mm, oom: fix race when specifying a thread as the oom origin 2012-12-11 17:22:27 -08:00
openvswitch.h openvswitch: add skb mark matching and set action 2012-11-26 11:33:18 -08:00
opp.h
oprofile.h
oxu210hp.h
padata.h
page_cgroup.h
page-debug-flags.h
page-flags.h mm: Fix PageHead when !CONFIG_PAGEFLAGS_EXTENDED 2012-12-26 14:57:34 -08:00
page-isolation.h memory-hotplug: skip HWPoisoned page when offlining pages 2012-12-11 17:22:22 -08:00
pageblock-flags.h
pagemap.h mm: only enforce stable page writes if the backing device requires it 2013-02-21 17:22:19 -08:00
pagevec.h
parport_pc.h
parport.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h
pci_ids.h tg3: add support for Ethernet core in bcm4785 2013-02-07 23:47:01 -05:00
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma.h
pci.h PCI/MSI: Enable multiple MSIs with pci_enable_msi_block_auto() 2013-01-24 17:25:13 +01:00
pcieport_if.h
pda_power.h
percpu_counter.h
percpu-defs.h
percpu-rwsem.h percpu_rw_semaphore: add lockdep annotations 2012-12-17 17:15:18 -08:00
percpu.h
perf_event.h perf: Introduce hw_perf_event->tp_target and ->tp_list 2013-02-08 18:28:02 +01:00
perf_regs.h
personality.h
pfn.h
phonedev.h
phonet.h
phy_fixed.h
phy.h net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
pid_namespace.h pidns: Stop pid allocation when init dies 2012-12-25 16:10:05 -08:00
pid.h pidns: Stop pid allocation when init dies 2012-12-25 16:10:05 -08:00
pim.h
pipe_fs_i.h
pktcdvd.h
platform_device.h ACPI / platform: Initialize ACPI handles of platform devices in advance 2012-11-21 00:21:59 +01:00
plist.h
pm2301_charger.h pm2301: LPN mode control support 2013-01-23 14:39:19 +00:00
pm_clock.h
pm_domain.h
pm_qos.h
pm_runtime.h PM / Runtime: Add new helper function: pm_runtime_active() 2013-01-26 00:39:12 +01:00
pm_wakeup.h
pm.h PM idle: remove global declaration of pm_idle 2013-02-17 23:37:09 -05:00
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix-clock.h
posix-timers.h
power_supply.h power_supply: Add watchdog and safety timer expiries under PROP_HEALTH_* 2013-01-05 18:51:18 -08:00
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pps-gpio.h
preempt.h
prefetch.h
printk.h printk: Wake up klogd using irq_work 2012-11-18 01:01:49 +01:00
prio_heap.h
proc_fs.h net: proc: fix build failed when procfs is not configured 2013-02-19 13:18:13 -05:00
profile.h profiling: Remove unused timer hook 2013-01-24 15:37:26 +01:00
projid.h
proportions.h
pstore_ram.h pstore: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
pstore.h pstore: Avoid deadlock in panic and emergency-restart path 2013-01-11 10:20:50 -08:00
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptrace.h ia64: kill thread_matches(), unexport ptrace_check_attach() 2013-01-20 12:26:05 -08:00
pvclock_gtod.h time: export time information for KVM pvclock 2012-11-27 23:29:12 -02:00
pwm_backlight.h
pwm.h pwm: Device tree support for PWM polarity 2012-11-22 22:47:12 +01:00
pxa2xx_ssp.h spi/pxa2xx: add support for Intel Low Power Subsystem SPI 2013-02-08 13:14:40 +00:00
pxa168_eth.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h soreuseport: infrastructure 2013-01-23 13:44:00 -05:00
range.h
ratelimit.h
rational.h
rbtree_augmented.h lib/rbtree.c: avoid the use of non-static __always_inline 2013-01-11 14:54:56 -08:00
rbtree.h
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate.h Merge branches 'doctorture.2013.01.29a', 'fixes.2013.01.26a', 'tagcb.2013.01.24a' and 'tiny.2013.01.29b' into HEAD 2013-01-28 22:25:21 -08:00
rcutiny.h
rcutree.h
reboot.h
reciprocal_div.h
regmap.h Merge remote-tracking branch 'regmap/topic/no-bus' into regmap-next 2013-02-14 17:11:09 +00:00
regset.h
relay.h
remoteproc.h
res_counter.h res_counter: return amount of charges after res_counter_uncharge() 2012-12-18 15:02:12 -08:00
resource.h
resume-trace.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
ring_buffer.h ring-buffer: Add stats field for amount read from trace ring buffer 2013-01-30 11:01:53 -05:00
rio_drv.h
rio_ids.h
rio_regs.h
rio.h rapidio: fix kernel-doc warnings 2012-11-16 14:33:04 -08:00
rmap.h mm/rmap, migration: Make rmap_walk_anon() and try_to_unmap_anon() more scalable 2012-12-11 14:43:00 +00:00
rndis.h
root_dev.h
rotary_encoder.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h NTP: Add a CONFIG_RTC_SYSTOHC configuration 2013-01-15 18:16:06 -08:00
rtmutex.h
rtnetlink.h
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem-spinlock.h
rwsem.h lockdep, rwsem: fix down_write_nest_lock() if !CONFIG_DEBUG_LOCK_ALLOC 2013-01-16 12:13:20 -08:00
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
scc.h
sched.h Merge branch 'for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup 2013-02-20 09:16:21 -08:00
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdla.h
seccomp.h
securebits.h
security.h tun: fix LSM/SELinux labeling of tun/tap devices 2013-01-14 18:16:59 -05:00
selection.h
selinux.h
sem.h
semaphore.h
seq_file_net.h
seq_file.h
seqlock.h
serial_8250.h tty/8250_early: Turn serial_in/serial_out into weak symbols. 2012-11-16 04:39:15 -08:00
serial_core.h
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_sci.h
serial.h
serio.h
sfi_acpi.h
sfi.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_pfc.h
sh_timer.h
shdma-base.h
shm.h mm: support more pagesizes for MAP_HUGETLB/SHM_HUGETLB 2012-12-11 17:22:25 -08:00
shmem_fs.h
shrinker.h
signal.h new helpers: __save_altstack/__compat_save_altstack, switch x86 and um to those 2012-12-19 18:07:41 -05:00
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h v4 GRE: Add TCP segmentation offload for GRE 2013-02-15 15:17:11 -05:00
slab_def.h slab/slub: struct memcg_params 2012-12-18 15:02:13 -08:00
slab.h slab: propagate tunable values 2012-12-18 15:02:14 -08:00
slob_def.h
slub_def.h slub: slub-specific propagation changes 2012-12-18 15:02:14 -08:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h smpboot: Allow selfparking per cpu threads 2013-02-14 15:29:37 +01:00
smsc911x.h
smscphy.h net: phy: smsc: force all capable mode if the phy is started in powerdown mode 2012-12-07 12:48:00 -05:00
sock_diag.h
socket.h VSOCK: Introduce VM Sockets 2013-02-10 19:41:08 -05:00
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h
splice.h
srcu.h srcu: Remove checks preventing idle CPUs from calling srcu_read_lock() 2013-02-07 15:15:00 -08:00
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stmmac.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
stmp_device.h
stop_machine.h
string_helpers.h
string.h string: introduce helper to get base file name from given path 2012-12-17 17:15:17 -08:00
stringify.h
sungem_phy.h
sunserialcore.h
sunxi_timer.h clocksource: sunxi: Add Allwinner A1X Timer Driver 2012-11-16 21:56:50 +01:00
superhyway.h
suspend.h PM: Introduce suspend state PM_SUSPEND_FREEZE 2013-02-09 22:30:44 +01:00
svga.h
swab.h
swap.h
swapfile.h
swapops.h
swiotlb.h
synclink.h
sys_soc.h
sys.h
syscalls.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
syscore_ops.h
sysctl.h sysctl: Pass useful parameters to sysctl permissions 2012-11-18 20:30:55 -05:00
sysfs.h sysfs: Functions for adding/removing symlinks to/from attribute groups 2013-01-25 21:51:13 +01:00
syslog.h
sysrq.h
sysv_fs.h
task_io_accounting_ops.h
task_io_accounting.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h tcp: adding a per-socket timestamp offset 2013-02-13 13:22:15 -05:00
tegra-ahb.h
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h Thermal: Fix DEFAULT_THERMAL_GOVERNOR 2012-12-12 15:34:48 +08:00
thread_info.h fork: protect architectures where THREAD_SIZE >= PAGE_SIZE against fork bombs 2012-12-18 15:02:13 -08:00
threads.h
ti_wilink_st.h
tick.h Merge branch 'nohz/printk-v8' into irq/core 2013-02-05 00:48:46 +01:00
tifm.h
timb_dma.h
timb_gpio.h
time-armada-370-xp.h
time.h time, Fix setting of hardware clock in NTP code 2013-02-08 15:07:05 -08:00
timekeeper_internal.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
toshiba.h
tpm_command.h
tpm.h
trace_clock.h
trace_seq.h
tracehook.h
tracepoint.h
transport_class.h
tsacct_kern.h cputime: Use accessors to read task cputime stats 2013-01-27 19:23:31 +01:00
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h TTY: introduce tty_port_destroy 2012-11-15 17:20:58 -08:00
typecheck.h
types.h mm, oom: fix race when specifying a thread as the oom origin 2012-12-11 17:22:27 -08:00
u64_stats_sync.h
uaccess.h
ucb1400.h
udp.h net: Add support for hardware-offloaded encapsulation 2012-12-09 00:20:28 -05:00
uidgid.h
uinput.h
uio_driver.h
uio.h
uprobes.h uprobes: Introduce uprobe_apply() 2013-02-08 18:28:04 +01:00
usb_usual.h
usb.h USB: add usb_hcd_{start,end}_port_resume 2013-01-25 15:06:01 -08:00
usbdevice_fs.h
user_namespace.h proc: Usable inode numbers for the namespace file descriptors. 2012-11-20 04:19:49 -08:00
user-return-notifier.h
user.h
uts.h
utsname.h proc: Usable inode numbers for the namespace file descriptors. 2012-11-20 04:19:49 -08:00
uuid.h
uwb.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h Fix misspellings of "whether" in comments. 2012-11-19 14:31:35 +01:00
via_i2c.h
via-core.h
via-gpio.h
via.h
video_output.h
videodev2.h
virtio_config.h
virtio_console.h
virtio_mmio.h
virtio_ring.h
virtio_scsi.h
virtio.h virtio: add drv_to_virtio to make code clearly 2012-12-18 15:20:43 +10:30
vlynq.h
vm_event_item.h Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
vmalloc.h
vme.h
vmstat.h mm: numa: Add pte updates, hinting and migration stats 2012-12-11 14:42:48 +00:00
vt_buffer.h
vt_kern.h
vt.h
vtime.h cputime: Safely read cputime of full dynticks CPUs 2013-01-27 20:35:47 +01:00
w1-gpio.h
wait.h wait: add wait_event_lock_irq() interface 2012-11-30 11:47:57 +01:00
wanrouter.h wanrouter: delete now orphaned header content, files/drivers 2013-01-31 19:56:35 -05:00
watchdog.h watchdog: WatchDog Timer Driver Core: fix comment 2012-12-19 22:24:55 +01:00
wireless.h
wl12xx.h wlcore: move wl12xx_platform_data up and make it truly optional 2013-02-08 10:05:02 +02:00
wm97xx.h
workqueue.h workqueue: rename cpu_workqueue to pool_workqueue 2013-02-13 19:29:12 -08:00
writeback.h writeback: remove nr_pages_dirtied arg from balance_dirty_pages_ratelimited_nr() 2012-12-11 17:22:21 -08:00
xattr.h
xilinxfb.h
xz.h
yam.h
z2_battery.h
zconf.h
zlib.h
zorro_ids.h
zorro.h
zutil.h