twx-linux/include/linux
Michel Lespinasse fff3fd8a12 rbtree: add prio tree and interval tree tests
Patch 1 implements support for interval trees, on top of the augmented
rbtree API. It also adds synthetic tests to compare the performance of
interval trees vs prio trees. Short answers is that interval trees are
slightly faster (~25%) on insert/erase, and much faster (~2.4 - 3x)
on search. It is debatable how realistic the synthetic test is, and I have
not made such measurements yet, but my impression is that interval trees
would still come out faster.

Patch 2 uses a preprocessor template to make the interval tree generic,
and uses it as a replacement for the vma prio_tree.

Patch 3 takes the other prio_tree user, kmemleak, and converts it to use
a basic rbtree. We don't actually need the augmented rbtree support here
because the intervals are always non-overlapping.

Patch 4 removes the now-unused prio tree library.

Patch 5 proposes an additional optimization to rb_erase_augmented, now
providing it as an inline function so that the augmented callbacks can be
inlined in. This provides an additional 5-10% performance improvement
for the interval tree insert/erase benchmark. There is a maintainance cost
as it exposes augmented rbtree users to some of the rbtree library internals;
however I think this cost shouldn't be too high as I expect the augmented
rbtree will always have much less users than the base rbtree.

I should probably add a quick summary of why I think it makes sense to
replace prio trees with augmented rbtree based interval trees now.  One of
the drivers is that we need augmented rbtrees for Rik's vma gap finding
code, and once you have them, it just makes sense to use them for interval
trees as well, as this is the simpler and more well known algorithm.  prio
trees, in comparison, seem *too* clever: they impose an additional 'heap'
constraint on the tree, which they use to guarantee a faster worst-case
complexity of O(k+log N) for stabbing queries in a well-balanced prio
tree, vs O(k*log N) for interval trees (where k=number of matches,
N=number of intervals).  Now this sounds great, but in practice prio trees
don't realize this theorical benefit.  First, the additional constraint
makes them harder to update, so that the kernel implementation has to
simplify things by balancing them like a radix tree, which is not always
ideal.  Second, the fact that there are both index and heap properties
makes both tree manipulation and search more complex, which results in a
higher multiplicative time constant.  As it turns out, the simple interval
tree algorithm ends up running faster than the more clever prio tree.

This patch:

Add two test modules:

- prio_tree_test measures the performance of lib/prio_tree.c, both for
  insertion/removal and for stabbing searches

- interval_tree_test measures the performance of a library of equivalent
  functionality, built using the augmented rbtree support.

In order to support the second test module, lib/interval_tree.c is
introduced. It is kept separate from the interval_tree_test main file
for two reasons: first we don't want to provide an unfair advantage
over prio_tree_test by having everything in a single compilation unit,
and second there is the possibility that the interval tree functionality
could get some non-test users in kernel over time.

Signed-off-by: Michel Lespinasse <walken@google.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Hillf Danton <dhillf@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-10-09 16:22:39 +09:00
..
amba spi: Updates for v3.7 2012-10-02 17:26:42 -07:00
bcma Prepared for main script 2012-10-03 13:45:43 -07:00
byteorder
caif
can
ceph Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client 2012-10-08 06:38:18 +09:00
clk ARM: bcm2835: add stub clock driver 2012-09-19 19:08:53 -06:00
crush UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
decompress
dvb [media] add LNA support for DVB API 2012-09-27 14:28:09 -03:00
extcon extcon: adc_jack: adc-jack driver to support 3.5 pi or simliar devices 2012-09-05 12:20:49 -07:00
fsl
hdlc
hsi
i2c Sound updates for 3.7-rc1 2012-10-09 07:07:14 +09:00
iio iio:inkern: Add function to read the processed value 2012-09-17 21:48:51 +01:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-10-02 17:16:10 -07:00
irqchip ARM: bcm2835: add interrupt controller driver 2012-09-19 19:08:37 -06:00
isdn
lockd
mfd Sound updates for 3.7-rc1 2012-10-09 07:07:14 +09:00
mlx4 mlx4: Modify proxy/tunnel QP mechanism so that guests do no calculations 2012-09-30 20:33:43 -07:00
mmc mmc: card: Skip secure erase on MoviNAND; causes unrecoverable corruption. 2012-09-04 13:58:10 -04:00
mtd mtd: mtdparts: introduce mtd_get_device_size 2012-09-04 09:38:58 +03:00
netfilter Prepared for main script 2012-10-03 13:45:43 -07:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfc
nfsd
pinctrl Prepared for main script 2012-10-03 13:45:43 -07:00
platform_data Sound updates for 3.7-rc1 2012-10-09 07:07:14 +09:00
power 1. New drivers: 2012-10-07 17:29:24 +09:00
raid
regulator Merge remote-tracking branches 'regulator/topic/core', 'regulator/topic/bypass', 'regulator/topic/tol', 'regulator/topic/drivers' and 'regulator/topic/tps6586x' into regulator-next 2012-09-28 14:45:07 +01:00
rtc
spi
ssb
sunrpc SUNRPC: Fix a UDP transport regression 2012-09-07 11:43:49 -04:00
tc_act
tc_ematch
unaligned
usb USB: EHCI: Tegra: Fix wrong register definition 2012-09-18 17:40:56 +01:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_io.h
acpi_pmtmr.h
acpi.h Merge branch 'pci/taku-acpi-pci-host-bridge-v3' into next 2012-09-24 16:36:10 -06:00
adb.h
adfs_fs.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
ahci_platform.h
aio_abi.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
arcfb.h
async_tx.h
async.h
ata_platform.h
ata.h ahci: implement aggressive SATA device sleep support 2012-09-13 01:08:53 -04:00
atalk.h
ath9k_platform.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h misc/atmel_tc: make atmel_tc.tcb_config member point to const data 2012-09-11 08:56:37 +02:00
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
atomic.h
attribute_container.h
audit.h audit.h: replace defines with C stubs 2012-10-06 03:04:35 +09:00
auto_dev-ioctl.h
auto_fs4.h
auto_fs.h
auxvec.h
average.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
basic_mmio_gpio.h
baycom.h
bcd.h usb/core: use bin2bcd() for bcdDevice in RH 2012-09-10 11:13:16 -07:00
bch.h
bcm2835_timer.h ARM: bcm2835: add system timer 2012-09-19 19:08:46 -06:00
bfin_mac.h
bfs_fs.h
binfmts.h coredump: pass siginfo_t* to do_coredump() and below, not merely signr 2012-10-06 03:05:16 +09:00
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk_types.h
blk-iopoll.h
blkdev.h
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpqether.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
buffer_head.h
bug.h
c2port.h
cache.h
can.h
capability.h
capi.h
cb710.h
cciss_defs.h
cciss_ioctl.h
cdev.h
cdrom.h
cfag12864b.h
cgroup_subsys.h cgroup: Wrap subsystem selection macro 2012-09-14 09:57:37 -07:00
cgroup.h Merge branch 'for-3.7-hierarchy' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup 2012-10-02 10:52:28 -07:00
cgroupstats.h
chio.h
circ_buf.h
cleancache.h
clk-private.h
clk-provider.h clk: add of_clk_src_onecell_get() support 2012-09-07 18:30:19 -07:00
clk.h
clkdev.h
clksrc-dbx500-prcmu.h
clockchips.h timekeeping: Add suspend and resume of clock event devices 2012-09-04 01:36:01 +02:00
clocksource.h
cm4000_cs.h
cn_proc.h
cnt32_to_63.h
coda_psdev.h
coda.h
coff.h
com20020.h
compaction.h mm: compaction: capture a suitable high-order page immediately when it is made available 2012-10-09 16:22:21 +09:00
compat.h compat: move compat_siginfo_t definition to asm/compat.h 2012-10-06 03:05:16 +09:00
compiler-gcc3.h
compiler-gcc4.h compiler.h: add __visible 2012-09-17 15:00:38 -07:00
compiler-gcc.h
compiler-intel.h
compiler.h compiler.h: add __visible 2012-09-17 15:00:38 -07:00
completion.h
concap.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
const.h
cordic.h
coredump.h coredump: pass siginfo_t* to do_coredump() and below, not merely signr 2012-10-06 03:05:16 +09:00
cper.h
cpu_pm.h
cpu_rmap.h
cpu.h
cpufreq.h
cpuidle.h
cpumask.h
cpuset.h
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
crypto.h
cryptohash.h
cryptouser.h
cs5535.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
davinci_emac.h
dca.h
dcache.h vfs: dcache: use DCACHE_DENTRY_KILLED instead of DCACHE_DISCONNECTED in d_kill() 2012-09-18 11:23:51 -07:00
dcbnl.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
devfreq.h
device_cgroup.h
device-mapper.h
device.h Power management updates for 3.7-rc1 2012-10-02 18:32:35 -07:00
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlm.h
dlmconstants.h
dm9000.h
dm-dirty-log.h
dm-io.h
dm-ioctl.h
dm-kcopyd.h
dm-log-userspace.h
dm-region-hash.h
dma_remapping.h
dma-attrs.h
dma-buf.h
dma-contiguous.h
dma-debug.h
dma-direction.h
dma-mapping.h
dmaengine.h dmaengine: Add flags parameter to dmaengine_prep_dma_cyclic() 2012-09-24 18:35:29 +02:00
dmapool.h
dmar.h
dmi.h
dn.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
drbd_limits.h
drbd_nl.h
drbd_tag_magic.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
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
ecryptfs.h
edac.h
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h efi: Fix the ACPI BGRT driver for images located in EFI boot services memory 2012-09-29 12:21:03 -07:00
efi.h efi: Fix the ACPI BGRT driver for images located in EFI boot services memory 2012-09-29 12:21:03 -07:00
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h coredump: extend core dump note section to contain file names of mapped files 2012-10-06 03:05:17 +09:00
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h etherdevice: introduce help function eth_zero_addr() 2012-09-10 15:49:54 -04:00
ethtool.h
eventfd.h
eventpoll.h epoll: support for disabling items, and a self-test app 2012-10-06 03:05:00 +09:00
evm.h
export.h
exportfs.h
ext2_fs.h
extcon.h extcon: fixing typos 2012-09-05 12:18:11 -07:00
f75375s.h
fadvise.h
falloc.h fs: reserve fallocate flag codepoint 2012-09-27 09:29:33 -04:00
fanotify.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdreg.h
fdtable.h new helper: daemonize_descriptors() 2012-09-26 21:10:00 -04:00
fec.h
fib_rules.h
fiemap.h
file.h switch simple cases of fget_light to fdget 2012-09-26 22:20:08 -04:00
filter.h filter: add XOR instruction for use with X/K 2012-09-24 16:49:21 -04:00
fips.h
firewire-cdev.h
firewire-constants.h
firewire.h firewire: addendum to address handler RCU conversion 2012-09-28 11:47:42 +02:00
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
font.h
freezer.h
frontswap.h frontswap: support exclusive gets if tmem backend is capable 2012-09-21 10:38:12 -04:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h mm: kill vma flag VM_CAN_NONLINEAR 2012-10-09 16:22:17 +09:00
fscache-cache.h
fscache.h
fsl_devices.h powerpc/usb: remove checking PHY_CLK_VALID for UTMI PHY 2012-09-24 13:42:45 -07:00
fsl_hypervisor.h
fsl-diu-fb.h
fsnotify_backend.h
fsnotify.h
ftrace_event.h
ftrace_irq.h
ftrace.h
fuse.h
futex.h
gameport.h
gcd.h
gen_stats.h
genalloc.h genalloc: make it possible to use a custom allocation algorithm 2012-10-06 03:04:57 +09:00
generic_acl.h
genetlink.h
genhd.h
getcpu.h
gfp.h mm: remove __GFP_NO_KSWAPD 2012-10-09 16:22:15 +09:00
gfs2_ondisk.h
gigaset_dev.h
gpio_keys.h
gpio_mouse.h
gpio-fan.h
gpio-pxa.h
gpio.h
gsmmux.h
hardirq.h cputime: Use a proper subsystem naming for vtime related APIs 2012-09-25 15:31:31 +02:00
hash.h
hdlc.h
hdlcdrv.h
hdreg.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h HID: sensors: introduce sensor framework 2012-09-06 19:13:13 +01:00
hid-sensor-ids.h HID: sensors: introduce sensor framework 2012-09-06 19:13:13 +01:00
hid.h HID: Allow more fields in the hid report 2012-09-19 19:50:20 +02: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 thp: remove assumptions on pgtable_t type 2012-10-09 16:22:29 +09:00
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h Tools: hv: Implement the KVP verb - KVP_OP_SET_IP_INFO 2012-09-10 16:42:33 -07:00
hysdn_if.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-gpio: Add support for dynamically allocated GPIO pins 2012-10-05 22:23:54 +02:00
i2c-mux-pinctrl.h
i2c-mux.h i2c-mux: Add support for device auto-detection 2012-10-05 22:23:51 +02:00
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h i2c: pnx: Fix read transactions of >= 2 bytes 2012-09-12 17:52:44 +02:00
i2c-pxa.h
i2c-smbus.h
i2c-tegra.h
i2c-xiic.h
i2c.h i2c: Correct struct i2c_driver doc about detection 2012-10-05 22:23:54 +02:00
i2o-dev.h
i2o.h
i8k.h
i7300_idle.h
i8042.h
i8253.h
i82593.h
icmp.h
icmpv6.h
ide.h
idr.h idr: rename MAX_LEVEL to MAX_IDR_LEVEL 2012-10-06 03:04:56 +09:00
ieee80211.h wireless: remove obsolete chan no/center freq conversion functions 2012-09-06 17:05:36 +02:00
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h vxlan: virtual extensible lan 2012-10-01 18:39:45 -04:00
if_ltalk.h
if_macvlan.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
if_x25.h
if.h
igmp.h
ihex.h
ima.h ima: add ima_inode_setxattr/removexattr function and calls 2012-09-07 14:57:47 -04:00
in6.h
in_route.h
in.h
inet_diag.h
inet_lro.h
inet.h
inetdevice.h
init_ohci1394_dma.h
init_task.h userns: Convert the audit loginuid to be a kuid 2012-09-17 18:08:54 -07:00
init.h sections: disable const sections for PA-RISC v2 2012-10-06 03:04:37 +09:00
initrd.h
inotify.h
input-polldev.h
input.h Input: Send events one packet at a time 2012-09-19 19:50:18 +02:00
integrity.h ima: allocating iint improvements 2012-09-07 14:57:45 -04:00
intel_mid_dma.h
intel_pmic_gpio.h
intel-iommu.h
interrupt.h time: RCU permitted to stop idle entry via softirq 2012-09-23 07:42:52 -07:00
interval_tree.h rbtree: add prio tree and interval tree tests 2012-10-09 16:22:39 +09:00
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h
iommu.h iommu: static inline iommu group stub functions 2012-09-25 12:14:56 +02:00
ioport.h resources: Document IORESOURCE_IO 2012-09-11 10:15:02 +02:00
ioprio.h
iova.h
ip6_tunnel.h
ip_vs.h
ip.h
ipc_namespace.h
ipc.h userns: Convert ipc to use kuid and kgid where appropriate 2012-09-06 22:17:20 -07:00
ipmi_msgdefs.h
ipmi_smi.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h
ipx.h
irda.h
irq_cpustat.h
irq_work.h
irq.h
irqdesc.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-10-01 09:06:36 -07:00
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
iso_fs.h
ivtv.h
ivtvfb.h
ixjuser.h
jbd2.h
jbd_common.h
jbd.h
jffs2.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 Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-10-07 17:49:05 +09:00
kbuild.h
kcmp.h
kconfig.h
kd.h
kdb.h kdb: Turn KGDB_KDB=n stubs into static inlines 2012-09-26 13:42:26 -07:00
kdebug.h
kdev_t.h
kern_levels.h
kernel_stat.h vtime: Consolidate system/idle context detection 2012-09-25 15:42:37 +02:00
kernel-page-flags.h
kernel.h linux/kernel.h: Fix warning seen with W=1 due to change in DIV_ROUND_CLOSEST 2012-09-19 06:51:25 -07:00
kernelcapi.h
kexec.h
key-type.h
key.h userns: Convert security/keys to the new userns infrastructure 2012-09-13 18:28:02 -07:00
keyboard.h
keyctl.h
kfifo.h
kgdb.h tty/serial: Add kgdb_nmi driver 2012-09-26 13:52:36 -07:00
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: fix oops with "input0: bad kobj_uevent_env content in show_uevent()" 2012-09-06 10:13:58 -07:00
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h KVM updates for the 3.7 merge window 2012-10-04 09:30:33 -07:00
kvm_para.h
kvm_types.h
kvm.h KVM: Add resampling irqfds for level triggered interrupts 2012-09-23 13:50:15 +02:00
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
lglock.h
lguest_launcher.h
lguest.h
libata.h SCSI for-linus on 20121002 2012-10-02 19:01:32 -07:00
libfdt_env.h
libfdt.h Partially revert a1ce39288e6fbef (UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers) 2012-10-06 02:48:09 +09:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_nulls.h
list_sort.h
list.h
llc.h
llist.h
lockdep.h
log2.h
loop.h userns: Convert loop to use kuid_t instead of uid_t 2012-09-21 03:13:20 -07:00
lp.h
lru_cache.h
lsm_audit.h
lzo.h
m48t86.h
magic.h
major.h
map_to_7segment.h
maple.h
marvell_phy.h
math64.h
matroxfb.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
media.h
mei.h
memblock.h
memcontrol.h
memory_hotplug.h
memory.h mm/ia64: fix a memory block size bug 2012-09-17 15:00:37 -07:00
mempolicy.h mempolicy: fix a race in shared_policy_replace() 2012-10-09 16:22:22 +09:00
mempool.h
memstick.h
meye.h
mg_disk.h
micrel_phy.h phy/micrel: Add missing header to micrel_phy.h 2012-09-24 15:54:33 -04:00
migrate_mode.h
migrate.h
mii.h
minix_fs.h
miscdevice.h
mISDNdsp.h
mISDNhw.h mISDN: Fix wrong usage of flush_work_sync while holding locks 2012-09-13 14:58:54 -04:00
mISDNif.h
mm_inline.h
mm_types.h mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
mm.h mm: compaction: capture a suitable high-order page immediately when it is made available 2012-10-09 16:22:21 +09:00
mman.h mm: kill vma flag VM_EXECUTABLE and mm->num_exe_file_vmas 2012-10-09 16:22:18 +09:00
mmdebug.h
mmiotrace.h
mmtimer.h
mmu_context.h
mmu_notifier.h mm: mmu_notifier: have mmu_notifiers use a global SRCU so they may safely schedule 2012-10-09 16:22:23 +09:00
mmzone.h
mnt_namespace.h
mod_devicetable.h ARM: soc: non-critical bug fixes 2012-10-01 18:02:07 -07:00
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mqueue.h
mroute6.h
mroute.h
msdos_fs.h
msg.h
msi.h
msm_mdp.h
mtio.h
mutex-debug.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mxm-wmi.h
mxsfb.h
n_r3964.h
namei.h
nbd.h nbd: handle discard requests 2012-10-06 03:05:24 +09:00
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
neighbour.h
net_dropmon.h
net_tstamp.h
net.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2012-10-02 20:25:04 -07:00
netdev_features.h
netdevice.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-10-02 13:38:27 -07:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink.h netlink: Rearrange netlink_kernel_cfg to save space on 64-bit. 2012-09-23 02:09:23 -04:00
netpoll.h
netrom.h
nfc.h NFC: LLCP raw socket support 2012-09-27 10:47:59 +02:00
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h NFS: Fix the initialisation of the readdir 'cookieverf' array 2012-09-04 14:52:42 -04:00
nfs_idmap.h
nfs_iostat.h
nfs_mount.h
nfs_page.h
nfs_xdr.h NFSv4: Fix buffer overflow checking in __nfs4_get_acl_uncached 2012-09-06 11:11:53 -04:00
nfs.h
nfsacl.h
nilfs2_fs.h
nl80211.h cfg80211/nl80211: Notify connection request failure in AP mode 2012-09-18 19:54:06 +02:00
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvme.h
nvram.h
nwpserial.h
nx842.h
of_address.h
of_device.h
of_fdt.h
of_gpio.h
of_i2c.h
of_iommu.h
of_irq.h of/irq: Create stub for of_irq_find_parent when !CONFIG_OF 2012-09-20 12:32:30 +02:00
of_mdio.h
of_mtd.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_serial.h
of.h MFD bits for the 3.7 merge window. 2012-10-05 12:01:30 +09:00
olpc-ec.h
omap3isp.h
omap-dma.h
omapfb.h ARM: OMAP1: move lcd pdata out of arch/arm/* 2012-09-10 16:34:00 -07:00
oom.h oom: remove deprecated oom_adj 2012-10-09 16:22:24 +09:00
openvswitch.h
opp.h PM / OPP: Initialize OPP table from device tree 2012-09-09 22:06:33 +02:00
oprofile.h
oxu210hp.h
packet_diag.h
padata.h
page_cgroup.h
page-debug-flags.h
page-flags.h
page-isolation.h
pageblock-flags.h
pagemap.h
pagevec.h
param.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 i2c-viapro: Add VIA VX900 device ID 2012-10-05 22:23:53 +02:00
pci_regs.h
pci-acpi.h PCI/ACPI: Use DEVICE_ACPI_HANDLE rather than searching acpi_pci_roots 2012-09-24 14:51:23 -06:00
pci-aspm.h
pci-ats.h
pci-dma.h
pci.h Merge branch 'pci/trivial' into next 2012-09-13 09:08:02 -06:00
pcieport_if.h PCI: Make pci_error_handlers const 2012-09-07 16:24:59 -06:00
pda_power.h
percpu_counter.h
percpu-defs.h
percpu.h sections: fix section conflicts in mm/percpu.c 2012-10-06 03:04:44 +09:00
perf_event.h Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-10-01 10:28:49 -07:00
perf_regs.h
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phonet.h
phy_fixed.h
phy.h
pid_namespace.h
pid.h
pim.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
plist.h
pm_clock.h
pm_domain.h PM / Domains: Operations related to cpuidle using domain names 2012-09-04 01:36:53 +02:00
pm_qos.h
pm_runtime.h
pm_wakeup.h
pm.h Power management updates for 3.7-rc1 2012-10-02 18:32:35 -07:00
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix_acl_xattr.h userns: Pass a userns parameter into posix_acl_to_xattr and posix_acl_from_xattr 2012-09-18 01:01:35 -07:00
posix_acl.h userns: Convert vfs posix_acl support to use kuids and kgids 2012-09-18 01:01:35 -07:00
posix_types.h
posix-clock.h
posix-timers.h
power_supply.h
ppdev.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
ppp-ioctl.h
pps_kernel.h pps/ptp: Allow PHC devices to adjust PPS events for known delay 2012-09-07 21:13:28 +01:00
pps-gpio.h
pps.h
prctl.h
preempt.h
prefetch.h
printk.h
prio_heap.h
prio_tree.h
proc_fs.h
profile.h
projid.h userns: Add kprojid_t and associated infrastructure in projid.h 2012-09-18 01:01:37 -07:00
proportions.h
pstore_ram.h
pstore.h pstore/ftrace: Convert to its own enable/disable debugfs knob 2012-09-06 22:16:58 -07:00
pti.h
ptp_classify.h
ptp_clock_kernel.h ptp: clarify the clock_name sysfs attribute 2012-09-22 15:42:46 -04:00
ptp_clock.h
ptrace.h
pwm_backlight.h
pwm.h
pxa2xx_ssp.h
pxa168_eth.h
qnx4_fs.h
qnx6_fs.h
qnxtypes.h
quicklist.h
quota.h userns: Convert struct dquot dq_id to be a struct kqid 2012-09-18 01:01:41 -07:00
quotaops.h userns: Modify dqget to take struct kqid 2012-09-18 01:01:40 -07:00
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
random.h
range.h
ratelimit.h
rational.h
raw.h
rbtree.h rbtree: add RB_DECLARE_CALLBACKS() macro 2012-10-09 16:22:38 +09:00
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate.h rcu: Switch task's syscall hooks on context switch 2012-09-26 15:47:02 +02:00
rcutiny.h
rcutree.h
rds.h
reboot.h
reciprocal_div.h
regmap.h
regset.h
reiserfs_fs.h
reiserfs_xattr.h
relay.h
remoteproc.h remtoteproc: maintain max notifyid 2012-09-18 21:55:52 +03:00
res_counter.h
resource.h
resume-trace.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
ring_buffer.h
rio_drv.h rapidio: add inbound memory mapping interface 2012-10-06 03:05:21 +09:00
rio_ids.h
rio_regs.h
rio.h rapidio: add destination ID allocation mechanism 2012-10-06 03:05:23 +09:00
rmap.h
rndis.h
romfs_fs.h
root_dev.h
rose.h
rotary_encoder.h
route.h
rpmsg.h
rslib.h
rtc-ds2404.h rtc: add Dallas DS2404 driver 2012-10-06 03:05:01 +09:00
rtc-v3020.h
rtc.h rtc_sysfs_show_hctosys(): display 0 if resume failed 2012-10-06 03:05:04 +09:00
rtmutex.h
rtnetlink.h
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
scc.h
sched.h oom: remove deprecated oom_adj 2012-10-09 16:22:24 +09:00
screen_info.h efifb: Skip DMI checks if the bootloader knows what it's doing 2012-09-17 13:29:23 +01:00
sctp.h
scx200_gpio.h
scx200.h
sdla.h
seccomp.h
securebits.h
security.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2012-10-02 21:38:48 -07:00
selection.h
selinux_netlink.h
selinux.h
sem.h
semaphore.h
seq_file_net.h
seq_file.h
seqlock.h
serial_8250.h
serial_core.h tty/serial/core: Introduce poll_init callback 2012-09-26 13:47:02 -07:00
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_reg.h serial: add OMAP-specific defines 2012-09-06 09:17:01 -07:00
serial_sci.h
serial.h serial: diminish usage of struct serial_uart_config 2012-09-05 13:15:07 -07:00
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
shmem_fs.h
shrinker.h
signal.h
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h
slab_def.h mm/slab: Fix kmem_cache_alloc_node_trace() declaration 2012-09-29 10:02:27 +03:00
slab.h mm, slob: Add support for kmalloc_track_caller() 2012-09-25 10:14:18 +03:00
slob_def.h mm, slob: Use NUMA_NO_NODE instead of -1 2012-09-25 10:11:14 +03:00
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
snmp.h tcp: TCP Fast Open Server - header & support functions 2012-08-31 20:02:18 -04:00
sock_diag.h
socket.h
sockios.h
som.h
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
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h remoteproc: Add STE modem driver 2012-09-22 16:35:13 +03:00
stmmac.h net:stmmac: Remove bus_id from mdio platform data. 2012-08-31 16:11:28 -04:00
stmp_device.h
stop_machine.h
string_helpers.h
string.h
stringify.h
sungem_phy.h
sunserialcore.h
superhyway.h
suspend_ioctls.h
suspend.h
svga.h
swab.h
swap.h
swapfile.h
swapops.h
swiotlb.h
synclink.h
sys_soc.h
sys.h
syscalls.h
syscore_ops.h
sysctl.h
sysfs.h
sysinfo.h
syslog.h
sysrq.h
sysv_fs.h
task_io_accounting_ops.h
task_io_accounting.h
task_work.h task_work: task_work_add() should not succeed after exit_task_work() 2012-09-13 16:47:34 +02:00
taskstats_kern.h
taskstats.h
tboot.h
tc.h
tca6416_keypad.h
tcp_metrics.h tcp: add generic netlink support for tcp_metrics 2012-09-05 15:15:02 -04:00
tcp.h ipv4: Don't add TCP-code in inet_sock_destruct 2012-09-20 17:12:27 -04:00
telephony.h
termios.h
textsearch_fsm.h
textsearch.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 time: Move ktime_t overflow checking into timespec_valid_strict 2012-09-01 10:24:48 -07:00
timecompare.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h rbtree: empty nodes have no color 2012-10-09 16:22:32 +09:00
times.h
timex.h
tiocl.h
tipc_config.h
tipc.h
topology.h
toshiba.h
tpm_command.h
tpm.h
trace_clock.h
trace_seq.h
tracehook.h
tracepoint.h trace: Don't declare trace_*_rcuidle functions in modules 2012-09-12 10:20:14 -04:00
transport_class.h
tsacct_kern.h userns: Convert taskstats to handle the user and pid namespaces. 2012-09-18 01:01:32 -07:00
tty_driver.h
tty_flags.h tty: move the async flags from the serial code into the tty includes 2012-09-05 13:11:03 -07:00
tty_flip.h
tty_ldisc.h
tty.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2012-10-02 11:11:09 -07:00
typecheck.h
types.h
u64_stats_sync.h
uaccess.h
ucb1400.h
udf_fs_i.h
udp.h
uhid.h
uidgid.h
uinput.h
uio_driver.h
uio.h
ultrasound.h
un.h
unistd.h
unix_diag.h
uprobes.h uprobes: Introduce arch_uprobe_enable/disable_step() 2012-09-15 17:37:28 +02:00
usb_usual.h usb: remove libusual 2012-09-05 17:21:36 -07:00
usb.h usb/acpi: Use ACPI methods to power off ports. 2012-09-10 13:04:01 -07:00
usbdevice_fs.h usbfs: Add a new disconnect-and-claim ioctl (v2) 2012-09-10 11:10:37 -07:00
user_namespace.h userns: Add kprojid_t and associated infrastructure in projid.h 2012-09-18 01:01:37 -07:00
user-return-notifier.h
user.h
utime.h
uts.h
utsname.h
uuid.h
uvcvideo.h
uwb.h
v4l2-common.h
v4l2-controls.h [media] videodev2.h: split off controls into v4l2-controls.h 2012-09-26 09:25:41 -03:00
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h [media] v4l2 core: add the missing pieces to support DVI/HDMI/DisplayPort 2012-09-13 16:05:27 -03:00
vermagic.h
veth.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
vhost.h
via_i2c.h
via-core.h
via-gpio.h
via.h
video_output.h
videodev2.h [media] Rename V4L2_(IN|OUT)_CAP_CUSTOM_TIMINGS 2012-09-26 09:49:37 -03:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h virtio: support reserved vqs 2012-09-28 15:05:15 +09:30
virtio_console.h
virtio_ids.h
virtio_mmio.h
virtio_net.h
virtio_pci.h
virtio_ring.h virtio-ring: move queue_index to vring_virtqueue 2012-09-28 15:05:15 +09:30
virtio_rng.h
virtio_scsi.h
virtio.h virtio-ring: move queue_index to vring_virtqueue 2012-09-28 15:05:15 +09:30
vlynq.h
vm_event_item.h
vmalloc.h
vme.h
vmstat.h
vt_buffer.h
vt_kern.h
vt.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h
wimax.h
wireless.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h
x25.h
xattr.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2012-10-02 21:38:48 -07:00
xfrm.h xfrm_user: ensure user supplied esn replay window is valid 2012-09-20 18:08:40 -04:00
xilinxfb.h
xz.h
yam.h
z2_battery.h
zconf.h
zlib.h
zorro_ids.h
zorro.h
zutil.h