Christopher Yeoh
fcf634098c
Cross Memory Attach
...
The basic idea behind cross memory attach is to allow MPI programs doing
intra-node communication to do a single copy of the message rather than a
double copy of the message via shared memory.
The following patch attempts to achieve this by allowing a destination
process, given an address and size from a source process, to copy memory
directly from the source process into its own address space via a system
call. There is also a symmetrical ability to copy from the current
process's address space into a destination process's address space.
- Use of /proc/pid/mem has been considered, but there are issues with
using it:
- Does not allow for specifying iovecs for both src and dest, assuming
preadv or pwritev was implemented either the area read from or
written to would need to be contiguous.
- Currently mem_read allows only processes who are currently
ptrace'ing the target and are still able to ptrace the target to read
from the target. This check could possibly be moved to the open call,
but its not clear exactly what race this restriction is stopping
(reason appears to have been lost)
- Having to send the fd of /proc/self/mem via SCM_RIGHTS on unix
domain socket is a bit ugly from a userspace point of view,
especially when you may have hundreds if not (eventually) thousands
of processes that all need to do this with each other
- Doesn't allow for some future use of the interface we would like to
consider adding in the future (see below)
- Interestingly reading from /proc/pid/mem currently actually
involves two copies! (But this could be fixed pretty easily)
As mentioned previously use of vmsplice instead was considered, but has
problems. Since you need the reader and writer working co-operatively if
the pipe is not drained then you block. Which requires some wrapping to
do non blocking on the send side or polling on the receive. In all to all
communication it requires ordering otherwise you can deadlock. And in the
example of many MPI tasks writing to one MPI task vmsplice serialises the
copying.
There are some cases of MPI collectives where even a single copy interface
does not get us the performance gain we could. For example in an
MPI_Reduce rather than copy the data from the source we would like to
instead use it directly in a mathops (say the reduce is doing a sum) as
this would save us doing a copy. We don't need to keep a copy of the data
from the source. I haven't implemented this, but I think this interface
could in the future do all this through the use of the flags - eg could
specify the math operation and type and the kernel rather than just
copying the data would apply the specified operation between the source
and destination and store it in the destination.
Although we don't have a "second user" of the interface (though I've had
some nibbles from people who may be interested in using it for intra
process messaging which is not MPI). This interface is something which
hardware vendors are already doing for their custom drivers to implement
fast local communication. And so in addition to this being useful for
OpenMPI it would mean the driver maintainers don't have to fix things up
when the mm changes.
There was some discussion about how much faster a true zero copy would
go. Here's a link back to the email with some testing I did on that:
http://marc.info/?l=linux-mm&m=130105930902915&w=2
There is a basic man page for the proposed interface here:
http://ozlabs.org/~cyeoh/cma/process_vm_readv.txt
This has been implemented for x86 and powerpc, other architecture should
mainly (I think) just need to add syscall numbers for the process_vm_readv
and process_vm_writev. There are 32 bit compatibility versions for
64-bit kernels.
For arch maintainers there are some simple tests to be able to quickly
verify that the syscalls are working correctly here:
http://ozlabs.org/~cyeoh/cma/cma-test-20110718.tgz
Signed-off-by: Chris Yeoh <yeohc@au1.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Howells <dhowells@redhat.com>
Cc: James Morris <jmorris@namei.org>
Cc: <linux-man@vger.kernel.org>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-10-31 17:30:44 -07:00
..
amba
gpio: pl061: add DT binding support
2011-10-26 23:15:28 +02:00
bcma
bcma: cc: export more control functions
2011-09-19 16:10:11 -04:00
byteorder
caif
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
can
can: remove references to berlios mailinglist
2011-10-17 19:22:46 -04:00
ceph
Merge branch 'for-linus' of git://ceph.newdream.net/git/ceph-client
2011-10-28 16:42:18 -07:00
crush
decompress
dvb
hdlc
i2c
Input: tsc2007 - make sure that X plate resistance is specified
2011-10-11 20:56:41 -07:00
input
Input: adp5589-keys - add support for the ADP5585 derivatives
2011-10-18 21:26:55 -07:00
isdn
lockd
mfd
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
2011-10-28 14:25:01 -07:00
mlx4
mlx4_en: Controlling FCS header removal
2011-10-19 03:42:26 -04:00
mmc
mmc: fix compile error when CONFIG_BLOCK is not enabled
2011-10-27 09:11:34 -04:00
mtd
netfilter
headers, xtables: Add missing #include <linux/netfilter.h>
2011-08-26 12:02:50 -04:00
netfilter_arp
headers, netfilter: Use kernel type names __u8, __u16, __u32
2011-08-26 12:02:50 -04:00
netfilter_bridge
netfilter_ipv4
headers, netfilter: Use kernel type names __u8, __u16, __u32
2011-08-26 12:02:50 -04:00
netfilter_ipv6
headers, netfilter: Use kernel type names __u8, __u16, __u32
2011-08-26 12:02:50 -04:00
nfc
nfsd
NFSD: Remove the ex_pathname field from struct svc_export
2011-09-13 22:44:10 -04:00
pinctrl
pinctrl: get_group_pins() const fixes
2011-10-20 11:41:49 +02:00
platform_data
Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
2011-10-26 14:52:52 +02:00
power
raid
regulator
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
2011-10-28 14:25:01 -07:00
rtc
spi
ssb
ssb: use u16 for storing board rev
2011-09-13 15:42:30 -04:00
sunrpc
Merge branch 'nfs-for-3.2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
2011-10-25 15:44:06 +02:00
tc_act
tc_ematch
unaligned
usb
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
2011-10-28 14:25:01 -07:00
uwb
wimax
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h
Merge branch 'apei-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
2011-08-03 21:53:27 -10:00
acpi_io.h
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
ahci_platform.h
aio.h
aio_abi.h
alarmtimer.h
alarmtimers: Add try_to_cancel functionality
2011-08-10 14:55:29 -07:00
altera_jtaguart.h
altera_uart.h
amd-iommu.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_platform.h
atalk.h
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
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
mmc: atmel-mci: change namespace
2011-10-26 15:43:25 -04:00
atmel-pwm-bl.h
atmel-ssc.h
atmel_pdc.h
mmc: atmel-mci: use ATMEL_PDC_SCND_BUF_OFF instead of a literal value
2011-10-26 15:43:26 -04:00
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
average.h
ax25.h
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
basic_mmio_gpio.h
drivers/gpio/gpio-generic.c: fix build errors
2011-09-14 18:09:38 -07:00
baycom.h
bcd.h
bch.h
bfin_mac.h
bfs_fs.h
binfmts.h
bio.h
bit_spinlock.h
bitmap.h
Merge branch 'apei' into apei-release
2011-08-03 11:30:42 -04:00
bitops.h
bitrev.h
blk-iopoll.h
blk_types.h
block: separate priority boosting from REQ_META
2011-08-23 14:50:29 +02:00
blkdev.h
block: simplify force plug flush code a little bit
2011-08-24 16:04:34 +02:00
blkpg.h
blktrace_api.h
blktrace: add FLUSH/FUA support
2011-08-11 10:36:05 +02:00
blockgroup_lock.h
bma150.h
Input: add driver for Bosch Sensortec's BMA150 accelerometer
2011-08-09 01:33:04 -07:00
bootmem.h
bottom_half.h
bpqether.h
brcmphy.h
bsearch.h
bsg-lib.h
block: add bsg helper library
2011-07-31 22:05:09 +02:00
bsg.h
btree-128.h
btree-type.h
btree.h
buffer_head.h
bug.h
c2port.h
cache.h
can.h
can: remove references to berlios mailinglist
2011-10-17 19:22:46 -04:00
capability.h
net: allow CAP_NET_RAW to set socket options IP{,V6}_TRANSPARENT
2011-10-20 18:21:36 -04:00
capi.h
cb710.h
cciss_defs.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
cgroup.h
cgroup_subsys.h
cgroupstats.h
chio.h
circ_buf.h
cleancache.h
clk.h
clk: provide prepare/unprepare functions
2011-09-27 09:25:02 +01:00
clkdev.h
ARM: 7131/1: clkdev: Add Common Macro for clk_lookup
2011-10-13 14:36:58 +01:00
clockchips.h
clockevents: Add direct ktime programming function
2011-09-08 11:10:56 +02:00
clocksource.h
cm4000_cs.h
cn_proc.h
connector: add comm change event report to proc connector
2011-09-28 13:41:50 -04:00
cnt32_to_63.h
coda.h
coda_psdev.h
coff.h
com20020.h
compaction.h
compat.h
Cross Memory Attach
2011-10-31 17:30:44 -07:00
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
configfs.h
connector.h
MAINTAINERS: Evgeniy has moved
2011-08-25 16:25:33 -07:00
console.h
console_struct.h
consolemap.h
const.h
cordic.h
coredump.h
cper.h
cpu.h
cpu_pm.h
cpu_pm: Add cpu power management notifiers
2011-09-23 12:05:29 +05:30
cpu_rmap.h
cpufreq.h
cpuidle.h
cpuidle: stop depending on pm_idle
2011-08-03 19:06:37 -04:00
cpumask.h
cpuset.h
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
cred.h
cred: use 'const' in get_current_{user,groups}
2011-08-08 11:33:23 -07:00
crypto.h
cryptohash.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2011-08-06 22:12:37 -07:00
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: renumber DCACHE_xyz flags, remove some stale ones
2011-08-06 22:52:40 -07:00
dcbnl.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
devfreq.h
PM / devfreq: Add basic governors
2011-10-02 00:19:34 +02:00
device-mapper.h
dm crypt: always disable discard_zeroes_data
2011-09-25 23:26:21 +01:00
device.h
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
2011-10-30 15:46:19 -07: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-ioctl.h
dm ioctl: fill in device parameters in more ioctls
2011-08-02 12:32:06 +01:00
dm-kcopyd.h
dm snapshot: skip reading origin when overwriting complete chunk
2011-08-02 12:32:04 +01:00
dm-log-userspace.h
dm-region-hash.h
dm9000.h
dma-attrs.h
dma-debug.h
dma-direction.h
dma-mapping.h
dma_remapping.h
iommu: Rename the DMAR and INTR_REMAP config options
2011-09-21 10:22:03 +02:00
dmaengine.h
dmapool.h
dmar.h
include/linux/dmar.h: forward-declare struct acpi_dmar_header
2011-10-31 17:30:44 -07:00
dmi.h
dn.h
dnotify.h
dns_resolver.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
drbd: Use angle brackets for system includes
2011-09-15 14:02:57 +02:00
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h
dw_apb_timer: constify clocksource name
2011-10-04 13:08:18 -07:00
dw_dmac.h
dynamic_debug.h
dynamic_debug: consolidate repetitive struct _ddebug descriptor definitions
2011-10-18 11:22:00 -07:00
ecryptfs.h
edac.h
edac_mce.h
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
efi.h
Merge branch 'pstore-efi' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
2011-08-01 13:40:51 -10:00
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h
ethtool: Update ethtool_rxnfc::rule_cnt on return from ETHTOOL_GRXCLSRLALL
2011-09-16 19:25:10 -04:00
eventfd.h
eventpoll.h
evm.h
evm: posix acls modify i_mode
2011-09-14 15:24:51 -04:00
exportfs.h
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
f75375s.h
fadvise.h
falloc.h
fanotify.h
fault-inject.h
fault-injection: add ability to export fault_attr in arbitrary directory
2011-08-03 14:25:20 -10:00
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdreg.h
fdtable.h
fec.h
fib_rules.h
fiemap.h
file.h
filter.h
filter: use unsigned int to silence static checker warning
2011-10-19 19:35:51 -04:00
fips.h
firewire-cdev.h
firewire-constants.h
firewire.h
firmware-map.h
firmware.h
flat.h
flex_array.h
font.h
freezer.h
Merge branch '3.2-without-smb2' of git://git.samba.org/sfrench/cifs-2.6
2011-10-28 10:43:32 -07:00
fs.h
Cross Memory Attach
2011-10-31 17:30:44 -07:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fsl-diu-fb.h
drivers/video: fsl-diu-fb: only DIU modes 0 and 1 are supported
2011-10-05 01:10:12 +00:00
fsl_devices.h
fsl_hypervisor.h
fsnotify.h
fsnotify_backend.h
ftrace.h
ftrace_event.h
ftrace_irq.h
fuse.h
fuse: fix flock
2011-08-08 16:08:08 +02:00
futex.h
gameport.h
gcd.h
gen_stats.h
genalloc.h
lib, Make gen_pool memory allocator lockless
2011-08-03 11:15:57 -04:00
generic_acl.h
generic_serial.h
genetlink.h
genhd.h
[SCSI] genhd: add a new attribute "alias" in gendisk
2011-08-29 00:16:19 -07:00
getcpu.h
gfp.h
mm: page_alloc: increase __GFP_BITS_SHIFT to include __GFP_OTHER_NODE
2011-08-03 14:25:21 -10:00
gfs2_ondisk.h
gigaset_dev.h
gpio-fan.h
gpio-i2cmux.h
gpio.h
gpiolib: Ensure struct gpio is always defined
2011-10-24 16:04:06 +02:00
gpio_keys.h
gpio_mouse.h
gsmmux.h
hardirq.h
hash.h
mm: make HASHED_PAGE_VIRTUAL page_address' struct page argument const.
2011-08-17 13:00:20 -07:00
hdlc.h
hdlcdrv.h
hdreg.h
hid-debug.h
hid-roccat.h
hid.h
Merge branch 'upstream' into for-linus
2011-10-25 09:59:04 +02:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
htirq.h
huge_mm.h
hugetlb.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
hv: remove struct hv_device_info from hyperv.h
2011-10-11 09:51:22 -06:00
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-tegra.h
i2c-xiic.h
i2c.h
i2c: Functions for byte-swapped smbus_write/read_word_data
2011-10-30 13:47:25 +01:00
i2o-dev.h
i2o.h
i8k.h
i7300_idle.h
i8042.h
i8253.h
i82593.h
ibmtr.h
icmp.h
icmpv6.h
ide.h
idr.h
ida: simplified functions for id allocation
2011-08-03 14:25:20 -10:00
ieee80211.h
mac80211: handle TDLS high-level commands and frames
2011-09-30 15:57:07 -04:00
if.h
net: introduce IFF_UNICAST_FLT private flag
2011-08-17 20:21:27 -07: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_ec.h
if_eql.h
if_ether.h
Merge branch 'master' of git://git.infradead.org/users/linville/wireless-next into for-davem
2011-10-11 15:35:42 -04:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h
if_link: Add additional parameter to IFLA_VF_INFO for spoof checking
2011-10-16 13:15:38 -07:00
if_ltalk.h
if_macvlan.h
macvtap: Fix the minor device number allocation
2011-10-21 02:53:07 -04:00
if_packet.h
Repair wrong named definition aligned_u64
2011-10-03 14:03:48 -04:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
headers, pppol2tp: Use __kernel_pid_t in <linux/pppol2tp.h>
2011-08-26 12:02:50 -04:00
if_pppox.h
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
if_slip.h
if_strip.h
if_tr.h
if_tun.h
if_tunnel.h
if_vlan.h
vlan: allow nested vlan_do_receive()
2011-10-30 04:43:30 -04:00
if_x25.h
igmp.h
ihex.h
ima.h
in.h
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
in6.h
in_route.h
inet.h
inet_diag.h
net-netlink: Add a new attribute to expose TOS values via netlink
2011-10-12 19:09:18 -04:00
inet_lro.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h
locking, sched: Annotate thread_group_cputimer as raw
2011-09-13 11:11:55 +02:00
initrd.h
inotify.h
input-polldev.h
input.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
2011-10-28 14:25:01 -07:00
integrity.h
evm: permit mode bits to be updated
2011-09-14 15:24:52 -04:00
intel-iommu.h
Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2011-10-26 16:17:32 +02:00
intel_mid_dma.h
intel_pmic_gpio.h
interrupt.h
genirq: Add IRQF_RESUME_EARLY and resume such IRQs earlier
2011-10-17 11:42:49 +02:00
io-mapping.h
Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux
2011-10-28 05:54:23 -07:00
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h
iommu.h
Merge branches 'amd/fixes', 'debug/dma-api', 'arm/omap', 'arm/msm', 'core', 'iommu/fault-reporting' and 'api/iommu-ops-per-bus' into next
2011-10-21 14:38:55 +02:00
ioport.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k
2011-07-31 14:30:59 -10:00
ioprio.h
iova.h
ip.h
ip6_tunnel.h
ip6_tunnel: add optional fwmark inherit
2011-09-20 14:50:00 -04:00
ip_vs.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipsec.h
ipv6.h
ipv6_route.h
ipx.h
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
irda.h
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
irq.h
genirq: Add support for per-cpu dev_id interrupts
2011-10-03 15:35:26 +02:00
irq_cpustat.h
irq_work.h
irq_work: Use llist in the struct irq_work logic
2011-10-04 12:43:49 +02:00
irqdesc.h
genirq: Add support for per-cpu dev_id interrupts
2011-10-03 15:35:26 +02:00
irqdomain.h
irq: Add declaration of irq_domain_simple_ops to irqdomain.h
2011-09-20 12:16:22 +02:00
irqflags.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn.h
doc: fix broken references
2011-09-27 18:08:04 +02:00
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h
ivtvfb.h
ixjuser.h
jbd.h
jbd2.h
jffs2.h
jhash.h
jiffies.h
time: Change jiffies_to_clock_t() argument type to unsigned long
2011-09-21 10:28:51 +02:00
journal-head.h
joystick.h
jump_label.h
jz4740-adc.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild
kbuild.h
kconfig.h
kconfig: Introduce IS_ENABLED(), IS_BUILTIN() and IS_MODULE()
2011-07-29 21:53:30 +02:00
kd.h
kdb.h
kdebug.h
kdev_t.h
kernel-page-flags.h
kernel.h
lib: add error checking to hex2bin
2011-09-20 23:24:44 -04:00
kernel_stat.h
kernelcapi.h
kexec.h
key-type.h
key.h
keyboard.h
keyctl.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.h
kobject_ns.h
kprobes.h
locking, kprobes: Annotate the hash locks and kretprobe.lock as raw
2011-09-13 11:11:45 +02:00
kref.h
ks0108.h
ks8842.h
ksm.h
kthread.h
ktime.h
kvm.h
KVM: s390: implement sigp external call
2011-10-30 12:24:05 +02:00
kvm_host.h
KVM: Fix simultaneous NMIs
2011-09-25 19:52:59 +03:00
kvm_para.h
kvm_types.h
l2tp.h
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
lapb.h
wan: make LAPB callbacks const
2011-09-16 19:20:20 -04:00
latencytop.h
lcd.h
lcm.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp5521.h
leds-lp5523.h
leds-pca9532.h
leds-regulator.h
leds.h
leds_pwm.h
lglock.h
lguest.h
lguest_launcher.h
libata.h
[SCSI] libsas,libata: fix ->change_queue_{depth|type} for sata devices
2011-10-02 12:30:30 -05:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_nulls.h
list_sort.h
llc.h
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
llist.h
llist: Add back llist_add_batch() and llist_del_first() prototypes
2011-10-11 12:51:22 +02:00
lockdep.h
rcu: Restore checks for blocking in RCU read-side critical sections
2011-09-28 21:36:37 -07:00
log2.h
loop.h
loop: add management interface for on-demand device allocation
2011-07-31 22:08:04 +02: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
mca-legacy.h
mca.h
mdio-bitbang.h
mdio-gpio.h
mdio.h
media.h
memblock.h
memcontrol.h
memcg: Revert "memcg: add memory.vmscan_stat"
2011-09-14 18:09:38 -07:00
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memstick.h
meye.h
mg_disk.h
micrel_phy.h
migrate.h
mii.h
mii: Remove references to DP83840 PHY in mii.h
2011-09-15 15:36:34 -04:00
minix_fs.h
miscdevice.h
loop: add management interface for on-demand device allocation
2011-07-31 22:08:04 +02:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h
mm: fix __page_to_pfn for a const struct page argument
2011-08-17 13:00:20 -07:00
mm_inline.h
mm_types.h
Merge branches 'slab/next' and 'slub/partial' into slab/for-linus
2011-10-26 18:09:12 +03:00
mman.h
mmdebug.h
mmiotrace.h
mmtimer.h
mmu_context.h
mmu_notifier.h
mmzone.h
mnt_namespace.h
mod_devicetable.h
Staging: hv: add driver_data to hv_vmbus_device_id
2011-08-25 10:25:37 -07:00
module.h
Tracepoint: Dissociate from module mutex
2011-08-10 20:38:14 -04:00
moduleloader.h
moduleparam.h
params: make dashes and underscores in parameter names truly equal
2011-10-26 13:10:39 +10:30
mount.h
mpage.h
mqueue.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
msm_mdp.h
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mxm-wmi.h
n_r3964.h
namei.h
vfs: remove LOOKUP_NO_AUTOMOUNT flag
2011-09-27 08:12:33 -07:00
nbd.h
ncp.h
ncp_fs.h
ncp_mount.h
ncp_no.h
neighbour.h
net.h
net_dropmon.h
net_tstamp.h
net: validate HWTSTAMP ioctl parameters
2011-10-19 17:00:35 -04:00
netdevice.h
Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
2011-10-25 15:18:39 +02:00
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
headers, netfilter: Add missing #include <limits.h> for userland
2011-08-26 12:02:50 -04:00
netfilter_ipv4.h
headers, netfilter: Add missing #include <limits.h> for userland
2011-08-26 12:02:50 -04:00
netfilter_ipv6.h
headers, netfilter: Add missing #include <limits.h> for userland
2011-08-26 12:02:50 -04:00
netlink.h
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
netpoll.h
netrom.h
headers, ax25: Add missing #include to <linux/netrom.h>, <linux/rose.h>
2011-08-26 12:02:50 -04:00
nfc.h
NFC: Add dev_up and dev_down control operations
2011-09-20 14:43:49 -04:00
nfs.h
pnfsblock: add device operations
2011-07-31 12:18:16 -04:00
nfs2.h
nfs3.h
nfs4.h
nfsd4: implement new 4.1 open reclaim types
2011-10-19 11:52:12 -04:00
nfs4_mount.h
nfs_fs.h
NFS: Use the inode->i_version to cache NFSv4 change attribute information
2011-10-18 09:14:34 -07:00
nfs_fs_i.h
nfs_fs_sb.h
NFS: Re-enable compilation of nfs with !CONFIG_NFS_V4 || !CONFIG_NFS_V4_1
2011-07-31 14:27:04 -10:00
nfs_idmap.h
nfs_iostat.h
nfs_mount.h
nfs_page.h
NFS: Don't rely on PageError in nfs_readpage_release_partial
2011-10-19 13:58:38 -07:00
nfs_xdr.h
NFS: Get rid of the unused nfs_write_data->flags field
2011-10-19 13:37:34 -07:00
nfsacl.h
nilfs2_fs.h
nl80211.h
nl80211: Add sta_flags to the station info
2011-10-14 14:48:23 -04:00
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvram.h
nwpserial.h
of.h
of: include errno.h
2011-10-29 12:49:40 +02:00
of_address.h
of_device.h
of_fdt.h
Revert "dt: add of_alias_scan and of_alias_get_id"
2011-08-04 11:26:24 +01:00
of_gpio.h
of/gpio: export of_gpio_simple_xlate
2011-07-28 16:19:22 -06:00
of_i2c.h
of_irq.h
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_spi.h
omap3isp.h
omapfb.h
oom.h
opp.h
PM / OPP: Add OPP availability change notifier.
2011-09-30 22:35:12 +02:00
oprofile.h
locking, oprofile: Annotate oprofilefs lock as raw
2011-09-13 11:12:05 +02:00
oxu210hp.h
padata.h
page-debug-flags.h
page-flags.h
Merge branch 'slub/lockless' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6
2011-07-30 08:21:48 -10:00
page-isolation.h
page_cgroup.h
pageblock-flags.h
pagemap.h
pagevec.h
param.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-aspm.h
pci-ats.h
PCI: Add support for PASID capability
2011-10-14 09:05:35 -07:00
pci-dma.h
pci.h
Merge branch 'next-rebase' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci
2011-10-28 14:20:44 -07:00
pci_hotplug.h
pci_ids.h
PCI: Add Solarflare vendor ID and SFC4000 device IDs
2011-10-14 09:05:27 -07:00
pci_regs.h
PCI: Add support for PASID capability
2011-10-14 09:05:35 -07:00
pcieport_if.h
pda_power.h
percpu-defs.h
percpu.h
percpu_counter.h
locking, percpu_counter: Annotate ::lock as raw
2011-09-13 11:11:47 +02:00
perf_event.h
perf, core: Introduce attrs to count in either host or guest mode
2011-10-06 13:00:28 +02:00
personality.h
Add a personality to report 2.6.x version numbers
2011-08-25 10:17:28 -07:00
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phonet.h
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
phy.h
net: hold sock reference while processing tx timestamps
2011-10-24 02:54:50 -04:00
phy_fixed.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6
2011-10-29 07:28:36 -07:00
plist.h
pm.h
Merge branch 'pm-domains' into pm-for-linus
2011-10-22 00:21:52 +02:00
pm_clock.h
PM: Move clock-related definitions and headers to separate file
2011-08-25 15:34:19 +02:00
pm_domain.h
PM / Domains: Split device PM domain data into base and need_restore
2011-09-26 20:22:02 +02:00
pm_qos.h
PM / QoS: Add function dev_pm_qos_read_value() (v3)
2011-10-04 21:54:26 +02:00
pm_runtime.h
PM: Move clock-related definitions and headers to separate file
2011-08-25 15:34:19 +02:00
pm_wakeup.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix-clock.h
posix-timers.h
alarmtimers: Remove period from alarm structure
2011-08-10 14:55:26 -07:00
posix_acl.h
RCUify freeing acls, let check_acl() go ahead in RCU mode if acl is cached
2011-08-03 00:58:42 -04:00
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
printk.h
prio_heap.h
prio_tree.h
proc_fs.h
profile.h
proportions.h
locking, lib/proportions: Annotate prop_local_percpu::lock as raw
2011-09-13 11:11:50 +02:00
pstore.h
pti.h
ptp_classify.h
ptp: fix L2 event message recognition
2011-09-29 00:32:03 -04:00
ptp_clock.h
ptp_clock_kernel.h
ptrace.h
pwm.h
pwm_backlight.h
backlight: add a callback 'notify_after' for backlight control
2011-08-25 16:25:34 -07:00
pxa2xx_ssp.h
pxa168_eth.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaops.h
radeonfb.h
radix-tree.h
tmpfs radix_tree: locate_item to speed up swapoff
2011-08-03 14:25:24 -10:00
raid_class.h
ramfs.h
ramoops.h
random.h
Merge branch 'x86-rdrand-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2011-10-28 05:29:07 -07:00
range.h
rar_register.h
ratelimit.h
locking, printk: Annotate logbuf_lock as raw
2011-09-13 11:11:54 +02:00
rational.h
raw.h
rbtree.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcu: Move __rcu_read_unlock()'s barrier() within if-statement
2011-09-28 21:38:35 -07:00
rcutiny.h
rcu: Make TINY_RCU also use softirq for RCU_BOOST=n
2011-09-28 21:38:20 -07:00
rcutree.h
rcu: Abstract common code for RCU grace-period-wait primitives
2011-09-28 21:36:42 -07:00
rds.h
reboot.h
reciprocal_div.h
regmap.h
regmap: Implement regcache_cache_bypass helper function
2011-09-30 13:57:47 +01:00
regset.h
reiserfs_acl.h
reiserfs_fs.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_xattr.h
relay.h
res_counter.h
resource.h
resume-trace.h
rfkill-gpio.h
net:rfkill: add a gpio setup function into GPIO rfkill
2011-10-03 15:19:19 -04:00
rfkill-regulator.h
rfkill.h
ring_buffer.h
trace: Add ring buffer stats to measure rate of events
2011-08-30 12:27:45 -04:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rapidio: fix use of non-compatible registers
2011-08-25 16:25:34 -07:00
rmap.h
romfs_fs.h
root_dev.h
rose.h
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
rotary_encoder.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
locking, rwsem: Annotate inner lock as raw
2011-09-13 11:11:59 +02:00
rwsem.h
locking, rwsem: Annotate inner lock as raw
2011-09-13 11:11:59 +02:00
rxrpc.h
s3c_adc_battery.h
sc26198.h
scatterlist.h
scc.h
sched.h
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2011-10-26 17:08:43 +02:00
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h
security: sparse fix: Move security_fixup_op to security.h
2011-09-09 16:56:33 -07:00
selection.h
selinux.h
selinux_netlink.h
sem.h
semaphore.h
locking, semaphores: Annotate inner lock as raw
2011-09-13 11:11:57 +02:00
seq_file.h
seq_file_net.h
seqlock.h
serial.h
atmel_serial: RS485: receiving enabled when sending data
2011-08-24 15:27:59 -07:00
serial167.h
serial_8250.h
Revert "tty: serial8250: add helpers for the DesignWare 8250"
2011-08-24 15:25:49 -07:00
serial_core.h
serial: Support the EFR-register of XR1715x uarts.
2011-09-22 15:50:38 -07:00
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_reg.h
serial: Support the EFR-register of XR1715x uarts.
2011-09-22 15:50:38 -07:00
serial_sci.h
serialP.h
serio.h
Input: add a driver for TSC-40 serial touchscreen
2011-09-28 10:24:14 -07:00
sfi.h
sfi_acpi.h
sh_clk.h
sh_dma.h
sh_eth.h
net: sh_eth: move the asm/sh_eth.h to include/linux/
2011-09-28 13:41:51 -04:00
sh_intc.h
sh_pfc.h
sh_timer.h
shm.h
shm: handle separate PID namespaces case
2011-07-30 08:44:19 -10:00
shmem_fs.h
tmpfs: use kmemdup for short symlinks
2011-08-03 14:25:24 -10:00
shrinker.h
sht15.h
sigma.h
signal.h
signalfd.h
skbuff.h
Merge branch 'master' of ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
2011-10-24 18:18:09 -04:00
slab.h
slab_def.h
slob_def.h
slub_def.h
slub: correct comments error for per cpu partial
2011-09-27 23:03:30 +03:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smsc911x.h
snmp.h
tcp: Change possible SYN flooding messages
2011-09-15 14:49:43 -04:00
socket.h
net: Make userland include of netlink.h more sane.
2011-08-07 22:48:07 -07:00
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
srcu.h
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
sungem_phy.h
net: Fix sungem_phy sharing.
2011-08-16 00:16:49 -07:00
superhyway.h
suspend.h
PM / VT: Cleanup #if defined uglyness and fix compile error
2011-10-16 23:28:51 +02:00
suspend_ioctls.h
svga.h
swab.h
swap.h
memcg: Revert "memcg: add memory.vmscan_stat"
2011-09-14 18:09:38 -07:00
swapops.h
mm: let swap use exceptional entries
2011-08-03 14:25:22 -10:00
swiotlb.h
synclink.h
sys.h
syscalls.h
Cross Memory Attach
2011-10-31 17:30:44 -07:00
syscore_ops.h
sysctl.h
ipv4: NET_IPV4_ROUTE_GC_INTERVAL removal
2011-10-03 14:13:01 -04:00
sysdev.h
sysfs.h
sysfs: Implement support for tagged files in sysfs.
2011-10-19 19:24:14 -04:00
syslog.h
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tcp: report ECN_SEEN in tcp_info
2011-10-03 14:01:21 -04:00
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thermal: make THERMAL_HWMON implementation fully internal
2011-08-02 14:51:57 -04:00
thread_info.h
threads.h
ti_wilink_st.h
drivers:misc:ti-st: platform hooks for chip states
2011-08-22 14:13:32 -07:00
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
timecompare.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
headers, tipc: Add missing #include to <linux/tipc_config.h> for userland
2011-08-26 12:02:50 -04:00
topology.h
toshiba.h
tpm.h
tpm_command.h
trace_clock.h
tracing: Add a counter clock for those that do not trust clocks
2011-09-19 11:35:58 -04:00
trace_seq.h
tracehook.h
tracepoint.h
Tracepoint: Dissociate from module mutex
2011-08-10 20:38:14 -04:00
transport_class.h
trdevice.h
tsacct_kern.h
tty.h
Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
2011-10-26 15:11:09 +02:00
tty_driver.h
TTY: pty, fix pty counting
2011-08-23 10:10:38 -07:00
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
rcu: Move rcu_head definition to types.h
2011-09-28 21:36:38 -07:00
u64_stats_sync.h
uaccess.h
ucb1400.h
udf_fs_i.h
udp.h
uinput.h
Input: force feedback - potential integer wrap in input_ff_create()
2011-10-12 21:13:11 -07:00
uio.h
uio_driver.h
uio: Support physical addresses >32 bits on 32-bit systems
2011-10-18 11:18:57 -07:00
ultrasound.h
un.h
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
unistd.h
usb.h
xHCI: set USB2 hardware LPM
2011-09-26 15:51:10 -07:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
utime.h
uts.h
utsname.h
uuid.h
uvcvideo.h
uwb.h
v4l2-mediabus.h
v4l2-subdev.h
vermagic.h
veth.h
vfs.h
vga_switcheroo.h
vgaarb.h
vhost.h
via-core.h
via-gpio.h
via.h
via_i2c.h
video_output.h
videodev2.h
virtio.h
Add ethtool -g support to virtio_net
2011-10-24 02:07:21 -04:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_ids.h
virtio_net.h
virtio_pci.h
virtio_ring.h
virtio_rng.h
vlynq.h
vm_event_item.h
vmalloc.h
vmstat.h
vt.h
vt_buffer.h
vt_kern.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h
watchdog: WatchDog Timer Driver Core - Add minimum and max timeout
2011-07-28 08:01:18 +00:00
wimax.h
wireless.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h
squeeze max-pause area and drop pass-good area
2011-08-19 22:42:07 +08:00
x25.h
headers, net: Use __kernel_sa_family_t in more definitions shared with userland
2011-08-26 12:02:50 -04:00
xattr.h
evm: posix acls modify i_mode
2011-09-14 15:24:51 -04:00
xfrm.h
xilinxfb.h
xz.h
yam.h
z2_battery.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h