Tom Herbert
0a9627f264
rps: Receive Packet Steering
...
This patch implements software receive side packet steering (RPS). RPS
distributes the load of received packet processing across multiple CPUs.
Problem statement: Protocol processing done in the NAPI context for received
packets is serialized per device queue and becomes a bottleneck under high
packet load. This substantially limits pps that can be achieved on a single
queue NIC and provides no scaling with multiple cores.
This solution queues packets early on in the receive path on the backlog queues
of other CPUs. This allows protocol processing (e.g. IP and TCP) to be
performed on packets in parallel. For each device (or each receive queue in
a multi-queue device) a mask of CPUs is set to indicate the CPUs that can
process packets. A CPU is selected on a per packet basis by hashing contents
of the packet header (e.g. the TCP or UDP 4-tuple) and using the result to index
into the CPU mask. The IPI mechanism is used to raise networking receive
softirqs between CPUs. This effectively emulates in software what a multi-queue
NIC can provide, but is generic requiring no device support.
Many devices now provide a hash over the 4-tuple on a per packet basis
(e.g. the Toeplitz hash). This patch allow drivers to set the HW reported hash
in an skb field, and that value in turn is used to index into the RPS maps.
Using the HW generated hash can avoid cache misses on the packet when
steering it to a remote CPU.
The CPU mask is set on a per device and per queue basis in the sysfs variable
/sys/class/net/<device>/queues/rx-<n>/rps_cpus. This is a set of canonical
bit maps for receive queues in the device (numbered by <n>). If a device
does not support multi-queue, a single variable is used for the device (rx-0).
Generally, we have found this technique increases pps capabilities of a single
queue device with good CPU utilization. Optimal settings for the CPU mask
seem to depend on architectures and cache hierarcy. Below are some results
running 500 instances of netperf TCP_RR test with 1 byte req. and resp.
Results show cumulative transaction rate and system CPU utilization.
e1000e on 8 core Intel
Without RPS: 108K tps at 33% CPU
With RPS: 311K tps at 64% CPU
forcedeth on 16 core AMD
Without RPS: 156K tps at 15% CPU
With RPS: 404K tps at 49% CPU
bnx2x on 16 core AMD
Without RPS 567K tps at 61% CPU (4 HW RX queues)
Without RPS 738K tps at 96% CPU (8 HW RX queues)
With RPS: 854K tps at 76% CPU (4 HW RX queues)
Caveats:
- The benefits of this patch are dependent on architecture and cache hierarchy.
Tuning the masks to get best performance is probably necessary.
- This patch adds overhead in the path for processing a single packet. In
a lightly loaded server this overhead may eliminate the advantages of
increased parallelism, and possibly cause some relative performance degradation.
We have found that masks that are cache aware (share same caches with
the interrupting CPU) mitigate much of this.
- The RPS masks can be changed dynamically, however whenever the mask is changed
this introduces the possibility of generating out of order packets. It's
probably best not change the masks too frequently.
Signed-off-by: Tom Herbert <therbert@google.com>
include/linux/netdevice.h | 32 ++++-
include/linux/skbuff.h | 3 +
net/core/dev.c | 335 +++++++++++++++++++++++++++++++++++++--------
net/core/net-sysfs.c | 225 ++++++++++++++++++++++++++++++-
net/core/skbuff.c | 2 +
5 files changed, 538 insertions(+), 59 deletions(-)
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-03-16 21:23:18 -07:00
..
amba
ARM: 5951/1: ARM: fix documentation of the PrimeCell bus
2010-02-20 14:10:48 +00:00
byteorder
can
can: ti hecc module : add platform specific initialization callback.
2010-02-26 05:22:03 -08:00
decompress
decompress: fix new decompressor for PIC
2010-03-12 15:52:44 -08:00
dvb
hdlc
i2c
mfd: Introduce remove_script function for twl4030
2010-03-07 22:17:32 +01:00
input
Input: sh_keysc - update the driver with mode 6
2010-02-10 23:04:18 -08:00
isdn
CAPI: Rework locking of controller data structures
2010-02-16 16:01:22 -08:00
lockd
mfd
mfd: Fix ucb1x00 build failure for collie_defconfig
2010-03-07 22:17:39 +01:00
mlx4
mmc
sdio: put active devices into 1-bit mode during suspend
2010-03-06 11:26:37 -08:00
mtd
mtd: sh_flctl SHBUSSEL and SEL_16BIT support
2010-02-02 13:02:16 +09:00
netfilter
netfilter: xtables: replace XT_MATCH_ITERATE macro
2010-02-24 18:34:48 +01:00
netfilter_arp
netfilter: xtables: replace XT_ENTRY_ITERATE macro
2010-02-24 18:32:59 +01:00
netfilter_bridge
netfilter_ipv4
netfilter: xtables: replace XT_MATCH_ITERATE macro
2010-02-24 18:34:48 +01:00
netfilter_ipv6
netfilter: xtables: replace XT_MATCH_ITERATE macro
2010-02-24 18:34:48 +01:00
nfsd
raid
regulator
regulator: enable max8649 regulator driver
2010-03-03 14:49:24 +00:00
rtc
spi
Input: ads7846 - add wakeup support
2010-03-11 00:02:43 -08:00
ssb
sunrpc
nfs41 do not allocate unused back channel pages
2010-02-10 08:31:02 -05:00
tc_act
tc_ematch
unaligned
usb
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
2010-03-08 07:34:26 -08:00
uwb
wimax
8250_pci.h
a.out.h
ac97_codec.h
acct.h
sysctl extern cleanup: acct
2010-03-12 15:53:10 -08:00
acpi.h
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio.h
aio_abi.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
arcdevice.h
arcfb.h
async.h
async_tx.h
ata.h
ata: Detect Delkin Devices compact flash
2010-03-01 15:11:32 -05:00
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h
Lose the first argument of audit_inode_child()
2010-02-08 14:38:36 -05:00
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h
coredump: pass mm->flags as a coredump parameter for consistency
2010-03-06 11:26:46 -08:00
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitops: rename for_each_bit() to for_each_set_bit()
2010-03-06 11:26:23 -08:00
bitrev.h
blk-iopoll.h
blkdev.h
block: Consolidate phys_segment and hw_segment limits
2010-02-26 13:58:08 +01:00
blkpg.h
blktrace_api.h
percpu: add __percpu sparse annotations to core kernel subsystems
2010-02-17 11:17:38 +09:00
blockgroup_lock.h
bootmem.h
x86: Make 64 bit use early_res instead of bootmem before slab
2010-02-12 09:41:59 -08:00
bottom_half.h
bpqether.h
brcmphy.h
tg3: Push phylib definitions to phylib
2010-02-17 17:27:40 -08:00
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: Consolidate duplicate bits in cciss_cmd.h & cciss_ioctl.h
2010-02-22 13:44:45 +01:00
cciss_ioctl.h
cciss: Consolidate duplicate bits in cciss_cmd.h & cciss_ioctl.h
2010-02-22 13:44:45 +01:00
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
cgroup.h
cgroups: remove events before destroying subsystem state objects
2010-03-12 15:52:37 -08:00
cgroup_subsys.h
cgroupstats.h
chio.h
circ_buf.h
clk.h
clockchips.h
clocksource.h
clocksource: add suspend callback
2010-02-05 14:54:10 +01:00
cm4000_cs.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_psdev.h
coff.h
com20020.h
compat.h
Add generic sys_old_select()
2010-03-12 15:52:32 -08:00
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h
percpu: add __percpu for sparse
2010-02-05 07:35:05 -08:00
completion.h
comstats.h
concap.h
configfs.h
connector.h
connector: Delete buggy notification code.
2010-02-02 15:58:48 -08:00
console.h
console_struct.h
consolemap.h
const.h
coredump.h
coredump: plug a memory leak situation on dump_seek()
2010-03-12 15:52:32 -08:00
cpu.h
cpufreq.h
cpuidle.h
cpumask.h
cpumask: let num_*_cpus() function always return unsigned values
2010-03-06 11:26:29 -08:00
cpuset.h
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc16.h
crc32.h
crc32c.h
cred.h
rcu: Use wrapper function instead of exporting tasklist_lock
2010-03-04 11:46:14 +01:00
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
davinci_emac.h
TI Davinci EMAC : Abstract Buffer address translation logic.
2010-02-04 13:29:53 -08:00
dca.h
dcache.h
dcbnl.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
device-mapper.h
dm table: remove unused dm_get_device range parameters
2010-03-06 02:32:27 +00:00
device.h
Driver core: create lock/unlock functions for struct device
2010-03-07 17:04:52 -08:00
device_cgroup.h
devpts_fs.h
dio.h
dirent.h
display.h
dlm.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-dirty-log.h
dm-io.h
dm: eliminate some holes data structures
2010-03-06 02:32:33 +00:00
dm-ioctl.h
dm ioctl: introduce flag indicating uevent was generated
2010-03-06 02:32:31 +00:00
dm-kcopyd.h
dm-log-userspace.h
dm-region-hash.h
dm9000.h
Fix spelling of 'platform' in comments and doc
2010-02-05 12:22:34 +01:00
dma-attrs.h
dma-debug.h
dma-mapping.h
dma-mapping: dma-mapping.h: add dma_set_coherent_mask
2010-03-12 15:52:42 -08:00
dma_remapping.h
dmaengine.h
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
2010-03-04 08:20:14 -08:00
dmapool.h
dmar.h
dmi.h
dn.h
dnotify.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
drbd.h
drbd_limits.h
drbd_nl.h
drbd_tag_magic.h
ds1286.h
ds17287rtc.h
dtlk.h
dw_dmac.h
dynamic_debug.h
early_res.h
early_res: Add free_early_partial()
2010-02-26 08:25:35 +01:00
edac.h
edd.h
eeprom_93cx6.h
efi.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h
elf coredump: add extended numbering support
2010-03-06 11:26:46 -08:00
elfcore-compat.h
elfcore.h
elf coredump: add extended numbering support
2010-03-06 11:26:46 -08:00
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h
ethtool: Add direct access to ops->get_sset_count
2010-03-05 14:00:17 -08:00
eventfd.h
eventpoll.h
exportfs.h
commit_metadata export operation replacing nfsd_sync_dir
2010-02-20 13:13:44 -08:00
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6
2010-03-05 13:20:53 -08:00
ext3_fs_i.h
ext3: Use bitops to read/modify EXT3_I(inode)->i_state
2010-03-05 00:20:20 +01:00
ext3_fs_sb.h
ext3_jbd.h
f75375s.h
fadvise.h
falloc.h
fault-inject.h
failslab: add ability to filter slab caches
2010-02-26 19:19:39 +02:00
fb.h
vga_switcheroo: initial implementation (v15)
2010-03-01 16:20:37 +10:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdreg.h
fdtable.h
vfs: Abstract rcu_dereference_check for files-fdtable use
2010-02-25 10:34:49 +01:00
fib_rules.h
fiemap.h
file.h
filter.h
fips.h
firewire-cdev.h
firewire: cdev: increment ABI version number
2010-02-24 20:36:55 +01:00
firewire-constants.h
firewire.h
firmware-map.h
memory-hotplug: create /sys/firmware/memmap entry for new memory
2010-03-06 11:26:25 -08:00
firmware.h
flat.h
flex_array.h
font.h
freezer.h
fs.h
include/linux/fs.h: convert FMODE_* constants to hex
2010-03-06 11:26:25 -08:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fsl_devices.h
fsnotify.h
Lose the first argument of audit_inode_child()
2010-02-08 14:38:36 -05:00
fsnotify_backend.h
ftrace.h
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2010-02-28 10:20:25 -08:00
ftrace_event.h
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2010-02-28 10:20:25 -08:00
ftrace_irq.h
fuse.h
futex.h
gameport.h
gcd.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h
percpu: add __percpu sparse annotations to core kernel subsystems
2010-02-17 11:17:38 +09:00
getcpu.h
gfp.h
mm: add comment about deprecation of __GFP_NOFAIL
2010-03-06 11:26:27 -08:00
gfs2_ondisk.h
GFS2: Remove old, unused linked list code from quota
2010-03-01 14:08:10 +00:00
gigaset_dev.h
gpio.h
gpio_keys.h
Input: gpio-keys - add support for disabling gpios through sysfs
2010-02-04 00:50:44 -08:00
gpio_mouse.h
hardirq.h
hash.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hid-debug.h
hid.h
Merge branches 'upstream', 'raw_report_modifications' and 'apple_magic_mouse' into for-linus
2010-02-25 17:39:16 +01:00
hiddev.h
hidraw.h
highmem.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/xfs-vipt
2010-02-26 17:05:10 -08:00
highuid.h
hil.h
tree-wide: Assorted spelling fixes
2010-02-09 11:13:56 +01:00
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
mfd: Add HTCPLD driver
2010-03-07 22:17:09 +01:00
htirq.h
hugetlb.h
hw_breakpoint.h
percpu: Add __percpu sparse annotations to hw_breakpoint
2010-02-27 16:23:39 +01:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-bit: Add pre- and post-xfer hooks
2010-03-13 20:56:56 +01:00
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-id.h
i2c-ocores.h
i2c-pca-platform.h
i2c-pnx.h
ARM: PNX4008: move i2c_adapter structure inside the drivers private data
2010-02-12 17:32:41 +00:00
i2c-pxa.h
i2c-smbus.h
i2c: Add SMBus alert support
2010-03-02 12:23:42 +01:00
i2c-xiic.h
Add the platform data include for the Xilinx XPS IIC Bus Interface
2010-03-14 11:14:58 -07:00
i2c.h
i2c: Document the message size limit
2010-03-02 12:23:49 +01:00
i2o-dev.h
i2o.h
block: Consolidate phys_segment and hw_segment limits
2010-02-26 13:58:08 +01:00
i8k.h
i7300_idle.h
i8042.h
i82593.h
ibmtr.h
icmp.h
icmpv6.h
ipv6: drop unused "dev" arg of icmpv6_send()
2010-02-18 14:30:17 -08:00
ide.h
idr.h
ieee80211.h
if.h
if_addr.h
if_addrlabel.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.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
if_link: Add SR-IOV configuration methods
2010-02-12 16:56:07 -08:00
if_ltalk.h
if_macvlan.h
net/macvtap: add vhost support
2010-02-18 14:08:38 -08:00
if_packet.h
packet: Add GSO/csum offload support.
2010-02-04 20:24:10 -08:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_strip.h
if_tr.h
if_tun.h
tun: socket filter support
2010-02-17 16:35:17 -08:00
if_tunnel.h
if_vlan.h
igmp.h
igmp: fix ip_mc_sf_allow race [v5]
2010-02-02 07:32:29 -08:00
ihex.h
ima.h
ima: rename ima_path_check to ima_file_check
2010-02-07 03:06:22 -05:00
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h
net ipv4: Decouple ipv4 interface parameters from binary sysctl numbers
2010-02-16 15:55:17 -08:00
init.h
init_ohci1394_dma.h
init_task.h
nsproxy: remove INIT_NSPROXY()
2010-03-12 15:52:40 -08:00
initrd.h
inotify.h
input-polldev.h
input.h
Input: scancode in get/set_keycodes should be unsigned
2010-03-08 23:19:15 -08:00
intel-iommu.h
interrupt.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
cgroups: blkio subsystem as module
2010-03-12 15:52:36 -08:00
ioctl.h
iommu-helper.h
iommu.h
ioport.h
resource: add window support
2010-03-14 20:08:36 -04:00
ioprio.h
iova.h
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipc_namespace.h
nsproxy: remove INIT_NSPROXY()
2010-03-12 15:52:40 -08:00
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipmi: remove ipmi_smi.h self-include
2010-03-12 15:52:40 -08:00
ipsec.h
ipv6.h
ipv6_route.h
ipx.h
irda.h
irq.h
Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2010-03-03 08:15:37 -08:00
irq_cpustat.h
irqflags.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h
ivtvfb.h
ixjuser.h
jbd.h
jbd[2]: remove references to BUFFER_DEBUG
2010-03-05 00:20:20 +01:00
jbd2.h
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6
2010-03-05 13:20:53 -08:00
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Input: Mac button emulation - implement as an input filter
2010-01-30 01:47:49 -08:00
Kbuild
Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux
2010-03-02 10:41:26 -08:00
kbuild.h
kd.h
kdebug.h
kdev_t.h
kernel-page-flags.h
kernel.h
Merge branch 'x86-bootmem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2010-03-03 08:15:05 -08:00
kernel_stat.h
kernelcapi.h
CAPI: Rework controller state notifier
2010-02-16 16:01:21 -08:00
kexec.h
percpu: add __percpu sparse annotations to core kernel subsystems
2010-02-17 11:17:38 +09:00
key-type.h
key.h
keyboard.h
keyctl.h
kfifo.h
kfifo: Don't use integer as NULL pointer
2010-02-16 15:11:08 -08:00
kgdb.h
klist.h
kmalloc_sizes.h
kmemcheck.h
kmemleak.h
kmemtrace.h
kmod.h
sysctl extern cleanup: module
2010-03-12 15:53:10 -08:00
kmsg_dump.h
kobj_map.h
kobject.h
Driver core: Constify struct sysfs_ops in struct kobj_type
2010-03-07 17:04:49 -08:00
kprobes.h
kprobes: Jump optimization sysctl interface
2010-02-25 17:49:25 +01:00
kref.h
ks0108.h
ksm.h
kthread.h
ktime.h
kvm.h
KVM: x86: Add KVM_CAP_X86_ROBUST_SINGLESTEP
2010-03-01 12:36:14 -03:00
kvm_host.h
KVM: Convert kvm->requests_lock to raw_spinlock_t
2010-03-01 12:36:13 -03:00
kvm_para.h
kvm_types.h
lapb.h
latencytop.h
lcd.h
leds-bd2802.h
leds-lp3944.h
leds-pca9532.h
leds-regulator.h
leds.h
leds_pwm.h
lguest.h
lguest_launcher.h
libata.h
libata: Pass host flags into the pci helper
2010-03-01 14:58:46 -05:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
lis3lv02d.h
list.h
lib: fix first line of kernel-doc for a few functions
2010-03-06 11:26:35 -08:00
list_nulls.h
list_sort.h
llc.h
lmb.h
lmb: Add lmb_free()
2010-02-03 17:39:50 +11:00
lockdep.h
sysctl extern cleanup: lockdep
2010-03-12 15:53:10 -08:00
log2.h
loop.h
lp.h
lru_cache.h
tree-wide: Assorted spelling fixes
2010-02-09 11:13:56 +01:00
lsm_audit.h
lzo.h
m48t86.h
magic.h
switch inotify_user to anon_inode
2010-02-19 03:35:12 -05:00
major.h
map_to_7segment.h
maple.h
math64.h
matroxfb.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h
mdio-gpio.h
mdio.h
memcontrol.h
memcg: fix oom kill behavior
2010-03-12 15:52:38 -08:00
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memstick.h
meye.h
mg_disk.h
migrate.h
mii.h
minix_fs.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h
mm: introduce dump_page() and print symbolic flag names
2010-03-12 15:52:28 -08:00
mm_inline.h
mm_types.h
nommu: fix build breakage
2010-03-12 15:52:28 -08:00
mman.h
mmdebug.h
mmiotrace.h
mmtimer.h
mmu_context.h
mmu_notifier.h
mmzone.h
Merge branch 'for-next' into for-linus
2010-03-08 16:55:37 +01:00
mnt_namespace.h
take check for new events in namespace (guts of mounts_poll()) to namespace.c
2010-03-03 14:07:59 -05:00
mod_devicetable.h
module.h
sysctl extern cleanup: module
2010-03-12 15:53:10 -08:00
moduleloader.h
moduleparam.h
mount.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
2010-03-04 08:15:33 -08:00
mpage.h
mqueue.h
mroute.h
mroute6.h
msdos_fs.h
fat: Fix stat->f_namelen
2010-02-10 23:49:08 +09:00
msg.h
msi.h
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
n_r3964.h
namei.h
nbd.h
ncp.h
ncp_fs.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_mount.h
ncp_no.h
neighbour.h
net.h
net: CONFIG_COMPAT redux
2010-02-03 20:32:28 -08:00
net_dropmon.h
net_tstamp.h
netdevice.h
rps: Receive Packet Steering
2010-03-16 21:23:18 -07:00
netfilter.h
netfilter: restore POST_ROUTING hook in NF_HOOK_COND
2010-02-19 08:03:28 +01:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_acl.h
nfs4_mount.h
nfs_fs.h
NFS: Remove requirement for inode->i_mutex from nfs_invalidate_mapping
2010-03-05 15:44:56 -05:00
nfs_fs_i.h
nfs_fs_sb.h
Merge branch 'writeback-for-2.6.34' into nfs-for-2.6.34
2010-03-05 15:46:18 -05:00
nfs_idmap.h
nfs_iostat.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nfsd_idmap.h
nilfs2_fs.h
nilfs2: issue discard request after cleaning segments
2010-02-13 12:26:02 +09:00
nl80211.h
nl80211: add power save commands
2010-02-19 15:52:40 -05:00
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
nodemask: fix the declaration of NODEMASK_ALLOC()
2010-03-12 15:52:38 -08:00
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvram.h
nwpserial.h
of.h
of/sparc: Remove sparc-local declaration of allnodes and devtree_lock
2010-02-14 13:02:44 -07:00
of_device.h
of_fdt.h
of/flattree: Don't assume HAVE_LMB
2010-02-14 07:13:47 -07:00
of_gpio.h
of_i2c.h
of_mdio.h
of_platform.h
of_spi.h
omapfb.h
OMAP: DSS2: OMAPFB: implement OMAPFB_GET_DISPLAY_INFO
2010-02-15 15:14:34 +02:00
oom.h
oprofile.h
oxu210hp.h
padata.h
page-debug-flags.h
page-flags.h
page-isolation.h
page_cgroup.h
memcg: move charges of anonymous swap
2010-03-12 15:52:36 -08:00
pageblock-flags.h
pagemap.h
pagevec.h
param.h
parport.h
parport_pc.h
parser.h
patchkey.h
path.h
pci-acpi.h
PCI / ACPI / PM: Platform support for PCI PME wake-up
2010-02-22 16:21:02 -08:00
pci-aspm.h
pci-dma.h
dma-mapping.h: add the dma_unmap state API
2010-03-12 15:52:42 -08:00
pci.h
dma-mapping: pci: move pci_set_dma_mask and pci_set_consistent_dma_mask to pci-dma-compat.h
2010-03-12 15:52:42 -08:00
pci_hotplug.h
PCI: Make current and maximum bus speeds part of the PCI core
2010-02-22 16:15:17 -08:00
pci_ids.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6
2010-03-03 08:47:22 -08:00
pci_regs.h
x86/PCI: Moorestown PCI support
2010-02-23 23:14:47 -08:00
pcieport_if.h
pda_power.h
percpu-defs.h
percpu.h
percpu_counter.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
2010-03-03 07:34:18 -08:00
perf_event.h
perf: Provide generic perf_sample_data initialization
2010-03-10 13:22:23 +01:00
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phonet.h
phy.h
libphy: add phy_find_first function
2010-02-04 10:23:02 -08:00
phy_fixed.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
pktcdvd: use BIO list management functions
2010-02-24 08:30:08 +01:00
platform_device.h
Driver core: make struct platform_driver.id_table const
2010-03-07 17:04:49 -08:00
plist.h
pm.h
PM: Provide generic subsystem-level callbacks
2010-03-06 21:28:37 +01:00
pm_qos_params.h
pm_runtime.h
PM: Provide generic subsystem-level callbacks
2010-03-06 21:28:37 +01:00
pm_wakeup.h
pmu.h
pnp.h
poison.h
poll.h
sysctl extern cleanup: poll
2010-03-12 15:53:11 -08:00
posix-timers.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
power_supply.h
ppdev.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps.h
pps_kernel.h
prctl.h
preempt.h
prefetch.h
prio_heap.h
prio_tree.h
proc_fs.h
profile.h
proportions.h
ptrace.h
ptrace: move user_enable_single_step & co prototypes to linux/ptrace.h
2010-03-12 15:52:38 -08:00
pwm.h
pwm_backlight.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quota: stop using QUOTA_OK / NO_QUOTA
2010-03-05 00:20:31 +01:00
quotaops.h
dquot: cleanup dquot initialize routine
2010-03-05 00:20:30 +01:00
radeonfb.h
radix-tree.h
raid_class.h
[SCSI] mpt2sas: Added raid transport support
2010-02-08 18:19:41 -06:00
ramfs.h
random.h
range.h
x86/pci: Add cap_resource()
2010-02-10 17:47:17 -08:00
ratelimit.h
rational.h
raw.h
rbtree.h
doc: fix typo in comment explaining rb_tree usage
2010-02-25 11:45:20 +01:00
rculist.h
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
2010-02-28 19:23:06 -08:00
rculist_nulls.h
rcu: Disable lockdep checking in RCU list-traversal primitives
2010-02-25 09:41:02 +01:00
rcupdate.h
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2010-03-13 14:43:01 -08:00
rcutiny.h
rcu: Make rcu_read_lock_sched_held() take boot time into account
2010-02-26 08:20:46 +01:00
rcutree.h
rcu: Make rcu_read_lock_sched_held() take boot time into account
2010-02-26 08:20:46 +01:00
rds.h
reboot.h
sysctl extern cleanup: C_A_D
2010-03-12 15:52:44 -08:00
reciprocal_div.h
regset.h
reiserfs_acl.h
reiserfs_fs.h
pass writeback_control to ->write_inode
2010-03-05 13:25:52 -05:00
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_xattr.h
relay.h
res_counter.h
resource.h
resume-trace.h
PM: Asynchronous suspend and resume of devices
2010-02-26 20:39:09 +01:00
rfkill.h
rfkill: Add support for KEY_RFKILL
2010-03-02 14:28:49 -05:00
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
vmscan: detect mapped file pages used only once
2010-03-06 11:26:27 -08:00
romfs_fs.h
root_dev.h
rose.h
rotary_encoder.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtc/hctosys: only claim the RTC provided the system time if it did
2010-03-12 15:52:28 -08:00
rtmutex.h
sysctl extern cleanup: rtmutex
2010-03-12 15:53:10 -08:00
rtnetlink.h
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
2010-02-28 19:23:06 -08:00
rwlock.h
locking: Make sparse work with inline spinlocks and rwlocks
2010-03-13 01:21:21 +01:00
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2010-03-13 14:43:01 -08:00
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h
Security: add static to security_ops and default_security_ops variable
2010-02-24 08:11:02 +11:00
selection.h
selinux.h
selinux_netlink.h
sem.h
semaphore.h
seq_file.h
seq_file: add RCU versions of new hlist/list iterators (v3)
2010-02-22 15:45:54 -08:00
seq_file_net.h
seqlock.h
serial.h
serial167.h
serial_8250.h
serial_core.h
pps: serial clients support
2010-03-12 15:52:43 -08:00
serial_max3100.h
serial_pnx8xxx.h
serial_reg.h
serial_sci.h
serial: sh-sci: Add DMA support.
2010-03-02 11:39:15 +09:00
serialP.h
serio.h
sfi.h
sfi_acpi.h
sh_intc.h
sh: extend INTC with force_disable
2010-02-16 13:38:56 +09:00
sh_pfc.h
sh_timer.h
shm.h
shmem_fs.h
sht15.h
signal.h
sysctl extern cleanup: signal
2010-03-12 15:52:44 -08:00
signalfd.h
skbuff.h
rps: Receive Packet Steering
2010-03-16 21:23:18 -07:00
slab.h
failslab: add ability to filter slab caches
2010-02-26 19:19:39 +02:00
slab_def.h
slob_def.h
slow-work.h
slub_def.h
sm501-regs.h
sm501.h
smb.h
smb_fs.h
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smc91x.h
smc911x.h
smp.h
smp: fix documentation in include/linux/smp.h
2010-03-06 11:26:32 -08:00
smp_lock.h
smsc911x.h
snmp.h
tcp: Add SNMP counters for backlog and min_ttl drops
2010-03-08 10:45:27 -08:00
socket.h
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
locking: Make sparse work with inline spinlocks and rwlocks
2010-03-13 01:21:21 +01:00
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
srcu.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
2010-03-03 07:34:18 -08:00
stackprotector.h
stacktrace.h
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stmmac.h
stop_machine.h
string.h
string_helpers.h
stringify.h
superhyway.h
suspend.h
suspend_ioctls.h
svga.h
swab.h
swap.h
memcg: move charges of anonymous swap
2010-03-12 15:52:36 -08:00
swapops.h
swiotlb.h
synclink.h
sys.h
syscalls.h
Add generic sys_olduname()
2010-03-12 15:52:32 -08:00
sysctl.h
net neigh: Decouple per interface neighbour table controls from binary sysctls
2010-02-16 15:55:18 -08:00
sysdev.h
sysdev: Add sysdev_create/remove_files
2010-03-07 17:04:47 -08:00
sysfs.h
sysfs: fix for thinko with sysfs_bin_attr_init()
2010-03-07 17:04:52 -08:00
syslog.h
syslog: use defined constants instead of raw numbers
2010-02-04 14:20:41 +11:00
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
copy_signal() cleanup: kill taskstats_tgid_init() and acct_init_pacct()
2010-03-12 15:52:39 -08:00
tboot.h
tc.h
tcp.h
net: TCP thin dupack
2010-02-18 15:43:09 -08:00
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
tick.h
tifm.h
timb_gpio.h
time.h
timecompare.h
timer.h
timerfd.h
timeriomem-rng.h
times.h
timex.h
ntp: Make time_esterror and time_maxerror static
2010-01-29 10:15:19 +01:00
tiocl.h
tipc.h
tipc_config.h
topology.h
toshiba.h
tpm.h
trace_clock.h
trace_seq.h
tracehook.h
tracepoint.h
transport_class.h
trdevice.h
tsacct_kern.h
tty.h
ldisc n_tty: add new method n_tty_inherit_ops()
2010-03-12 15:52:43 -08:00
tty_driver.h
tty_flip.h
USB: tty: Add a function to insert a string of characters with the same flag
2010-03-02 14:55:11 -08:00
tty_ldisc.h
ldisc: new dcd_change() method for line disciplines
2010-03-12 15:52:43 -08:00
typecheck.h
types.h
uaccess.h
ucb1400.h
udf_fs_i.h
udp.h
uinput.h
uio.h
uio_driver.h
ultrasound.h
un.h
unistd.h
usb.h
Driver core: create lock/unlock functions for struct device
2010-03-07 17:04:52 -08:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
utime.h
uts.h
utsname.h
uwb.h
vermagic.h
veth.h
vfs.h
vga_switcheroo.h
vga_switcheroo: fix build on platforms with no ACPI
2010-03-01 22:21:58 +11:00
vgaarb.h
vhost.h
via.h
video_output.h
videodev.h
videodev2.h
V4L/DVB (14003): gspca_cpai1: New gspca subdriver for CPIA CPiA version 1 cams
2010-02-26 15:10:40 -03:00
videotext.h
virtio.h
net/9p: Add sysfs mount_tag file for virtio 9P device
2010-03-13 08:57:29 -06:00
virtio_9p.h
net/9p: Use the tag name in the config space for identifying mount point
2010-03-13 08:57:28 -06:00
virtio_balloon.h
virtio: Add memory statistics reporting to the balloon driver (V4)
2010-02-24 14:22:08 +10:30
virtio_blk.h
virtio_blk: add block topology support
2010-02-24 14:22:26 +10:30
virtio_config.h
virtio_console.h
virtio: console: Add ability to hot-unplug ports
2010-02-24 14:23:00 +10:30
virtio_ids.h
virtio_net.h
virtio_pci.h
virtio_ring.h
virtio_rng.h
vlynq.h
vmalloc.h
vmstat.h
vt.h
tty: Add a new VT mode which is like VT_PROCESS but doesn't require a VT_RELDISP ioctl call
2010-03-02 14:43:23 -08:00
vt_buffer.h
vt_kern.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h
wimax.h
wireless.h
wlp.h
wm97xx.h
wm97xx_batt.h
workqueue.h
writeback.h
x25.h
xattr.h
xfrm.h
xfrm: introduce basic mark infrastructure
2010-02-22 16:19:45 -08:00
xilinxfb.h
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h