android_kernel_xiaomi_sm8350/include/linux
Dan Williams 9bc89cd82d async_tx: add the async_tx api
The async_tx api provides methods for describing a chain of asynchronous
bulk memory transfers/transforms with support for inter-transactional
dependencies.  It is implemented as a dmaengine client that smooths over
the details of different hardware offload engine implementations.  Code
that is written to the api can optimize for asynchronous operation and the
api will fit the chain of operations to the available offload resources. 
 
	I imagine that any piece of ADMA hardware would register with the
	'async_*' subsystem, and a call to async_X would be routed as
	appropriate, or be run in-line. - Neil Brown

async_tx exploits the capabilities of struct dma_async_tx_descriptor to
provide an api of the following general format:

struct dma_async_tx_descriptor *
async_<operation>(..., struct dma_async_tx_descriptor *depend_tx,
			dma_async_tx_callback cb_fn, void *cb_param)
{
	struct dma_chan *chan = async_tx_find_channel(depend_tx, <operation>);
	struct dma_device *device = chan ? chan->device : NULL;
	int int_en = cb_fn ? 1 : 0;
	struct dma_async_tx_descriptor *tx = device ?
		device->device_prep_dma_<operation>(chan, len, int_en) : NULL;

	if (tx) { /* run <operation> asynchronously */
		...
		tx->tx_set_dest(addr, tx, index);
		...
		tx->tx_set_src(addr, tx, index);
		...
		async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param);
	} else { /* run <operation> synchronously */
		...
		<operation>
		...
		async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param);
	}

	return tx;
}

async_tx_find_channel() returns a capable channel from its pool.  The
channel pool is organized as a per-cpu array of channel pointers.  The
async_tx_rebalance() routine is tasked with managing these arrays.  In the
uniprocessor case async_tx_rebalance() tries to spread responsibility
evenly over channels of similar capabilities.  For example if there are two
copy+xor channels, one will handle copy operations and the other will
handle xor.  In the SMP case async_tx_rebalance() attempts to spread the
operations evenly over the cpus, e.g. cpu0 gets copy channel0 and xor
channel0 while cpu1 gets copy channel 1 and xor channel 1.  When a
dependency is specified async_tx_find_channel defaults to keeping the
operation on the same channel.  A xor->copy->xor chain will stay on one
channel if it supports both operation types, otherwise the transaction will
transition between a copy and a xor resource.

Currently the raid5 implementation in the MD raid456 driver has been
converted to the async_tx api.  A driver for the offload engines on the
Intel Xscale series of I/O processors, iop-adma, is provided in a later
commit.  With the iop-adma driver and async_tx, raid456 is able to offload
copy, xor, and xor-zero-sum operations to hardware engines.
 
On iop342 tiobench showed higher throughput for sequential writes (20 - 30%
improvement) and sequential reads to a degraded array (40 - 55%
improvement).  For the other cases performance was roughly equal, +/- a few
percentage points.  On a x86-smp platform the performance of the async_tx
implementation (in synchronous mode) was also +/- a few percentage points
of the original implementation.  According to 'top' on iop342 CPU
utilization drops from ~50% to ~15% during a 'resync' while the speed
according to /proc/mdstat doubles from ~25 MB/s to ~50 MB/s.
 
The tiobench command line used for testing was: tiobench --size 2048
--block 4096 --block 131072 --dir /mnt/raid --numruns 5
* iop342 had 1GB of memory available

Details:
* if CONFIG_DMA_ENGINE=n the asynchronous path is compiled away by making
  async_tx_find_channel a static inline routine that always returns NULL
* when a callback is specified for a given transaction an interrupt will
  fire at operation completion time and the callback will occur in a
  tasklet.  if the the channel does not support interrupts then a live
  polling wait will be performed
* the api is written as a dmaengine client that requests all available
  channels
* In support of dependencies the api implicitly schedules channel-switch
  interrupts.  The interrupt triggers the cleanup tasklet which causes
  pending operations to be scheduled on the next channel
* Xor engines treat an xor destination address differently than a software
  xor routine.  To the software routine the destination address is an implied
  source, whereas engines treat it as a write-only destination.  This patch
  modifies the xor_blocks routine to take a an explicit destination address
  to mirror the hardware.

Changelog:
* fixed a leftover debug print
* don't allow callbacks in async_interrupt_cond
* fixed xor_block changes
* fixed usage of ASYNC_TX_XOR_DROP_DEST
* drop dma mapping methods, suggested by Chris Leech
* printk warning fixups from Andrew Morton
* don't use inline in C files, Adrian Bunk
* select the API when MD is enabled
* BUG_ON xor source counts <= 1
* implicitly handle hardware concerns like channel switching and
  interrupts, Neil Brown
* remove the per operation type list, and distribute operation capabilities
  evenly amongst the available channels
* simplify async_tx_find_channel to optimize the fast path
* introduce the channel_table_initialized flag to prevent early calls to
  the api
* reorganize the code to mimic crypto
* include mm.h as not all archs include it in dma-mapping.h
* make the Kconfig options non-user visible, Adrian Bunk
* move async_tx under crypto since it is meant as 'core' functionality, and
  the two may share algorithms in the future
* move large inline functions into c files
* checkpatch.pl fixes
* gpl v2 only correction

Cc: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Acked-By: NeilBrown <neilb@suse.de>
2007-07-13 08:06:14 -07:00
..
amba
byteorder Fix compilation of drivers with -O0 2007-05-08 11:15:00 -07:00
dvb V4L/DVB (5419): Add comment how the speed field is interpreted. 2007-04-27 15:44:34 -03:00
hdlc
isdn make drivers/isdn/capi/capiutil.c:cdebbuf_alloc() static 2007-05-08 11:15:16 -07:00
lockd NLM: Fix sparse warnings 2007-05-14 19:33:46 -04:00
mlx4 IB/mlx4: Make sure inline data segments don't cross a 64 byte boundary 2007-06-18 09:23:47 -07:00
mmc mmc: remove old card states 2007-05-01 16:11:57 +02:00
mtd [MTD] generalise the handling of MTD-specific superblocks 2007-05-11 12:14:15 +01:00
netfilter [NETFILTER]: nf_conntrack_h323: fix ASN.1 types 2007-05-24 16:42:26 -07:00
netfilter_arp [NETFILTER]: Clean up table initialization 2007-05-10 23:47:43 -07:00
netfilter_bridge
netfilter_ipv4 [NETFILTER]: ip_tables: fix compat related crash 2007-06-07 13:40:32 -07:00
netfilter_ipv6 [NETFILTER]: Clean up table initialization 2007-05-10 23:47:43 -07:00
nfsd
raid async_tx: add the async_tx api 2007-07-13 08:06:14 -07:00
spi spi doc updates 2007-06-16 13:16:16 -07:00
sunrpc SUNRPC: Fix sparse warnings 2007-05-14 19:33:47 -04:00
tc_act
tc_ematch
usb USB: <linux/usb/ch9.h> minor doc update 2007-04-27 13:28:39 -07:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi_pmtmr.h
acpi.h acpi,msi-laptop: Fall back to EC polling mode for MSI laptop specific EC commands 2007-05-10 03:52:22 -04:00
adb.h
adfs_fs_i.h
adfs_fs_sb.h
adfs_fs.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio_abi.h signal/timer/event: KAIO eventfd support example 2007-05-11 08:29:37 -07:00
aio.h signal/timer/event: KAIO eventfd support example 2007-05-11 08:29:37 -07:00
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h signal/timer/event fds: anonymous inode source 2007-05-11 08:29:36 -07:00
apm_bios.h
apm-emulation.h
arcdevice.h
arcfb.h
async_tx.h async_tx: add the async_tx api 2007-07-13 08:06:14 -07:00
ata.h libata passthru: update cached device paramters 2007-06-09 23:08:12 -04:00
atalk.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
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h [PATCH] Abnormal End of Processes 2007-05-11 05:38:26 -04:00
auto_fs4.h
auto_fs.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h make sysctl/kernel/core_pattern and fs/exec.c agree on maximum core filename size 2007-05-17 05:23:05 -07:00
bio.h [BLOCK] Don't pin lots of memory in mempools 2007-04-30 09:08:17 +02:00
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blkdev.h kblockd: use flush_work 2007-05-09 12:30:51 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bootmem.h x86_64: allocate sparsemem memmap above 4G 2007-06-01 08:18:27 -07:00
bottom_half.h
bpqether.h
buffer_head.h mm: optimize kill_bdev() 2007-05-07 12:12:55 -07:00
bug.h
cache.h
calc64.h
capability.h capability.h warning fix 2007-05-23 20:14:12 -07:00
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
chio.h
circ_buf.h
clk.h
clockchips.h clockchips.h: kernel-doc fix 2007-05-08 11:15:15 -07:00
clocksource.h clocksource: fix resume logic 2007-05-09 12:30:56 -07:00
cm4000_cs.h
cn_proc.h
cobalt-nvram.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_proc.h
coda_psdev.h
coda.h
coff.h
com20020.h
compat.h Declare another couple of compat syscalls. 2007-05-14 12:16:01 -07:00
compiler-gcc3.h compiler: introduce __used and __maybe_unused 2007-05-09 12:30:56 -07:00
compiler-gcc4.h compiler: introduce __used and __maybe_unused 2007-05-09 12:30:56 -07:00
compiler-gcc.h compiler: introduce __used and __maybe_unused 2007-05-09 12:30:56 -07:00
compiler-intel.h ARRAY_SIZE: check for type 2007-05-07 12:13:00 -07:00
compiler.h x86_64: Support gcc 5 properly 2007-05-21 09:56:57 -07:00
completion.h
comstats.h
concap.h
configfs.h
connector.h
console_struct.h Protect <linux/console_struct.h> from multiple inclusion 2007-06-08 17:23:34 -07:00
console.h vt: add color support to the "underline" and "italic" attributes 2007-05-08 11:15:27 -07:00
consolemap.h
const.h consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
cpu.h <linux/sysdev.h> needs to include <linux/module.h> 2007-05-08 11:15:05 -07:00
cpufreq.h Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2007-05-05 14:55:20 -07:00
cpumask.h
cpuset.h
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h [PATCH] i386: Allow i386 crash kernels to handle x86_64 dumps 2007-05-02 19:27:09 +02:00
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h CRC ITU-T V.41 2007-05-10 18:24:13 +02:00
crypto.h [CRYPTO] api: Add ablkcipher_request_set_tfm 2007-05-02 14:38:33 +10:00
cryptohash.h
ctype.h
cuda.h
cyclades.h Char: cyclades, dynamic ports 2007-05-08 11:15:25 -07:00
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h VFS: delay the dentry name generation on sockets and pipes 2007-05-08 11:15:03 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h debugfs: Add debugfs_create_u64() 2007-04-27 10:57:31 -07:00
delay.h
delayacct.h
device-mapper.h
device.h fix hotplug for legacy platform drivers 2007-05-08 11:15:10 -07:00
devpts_fs.h
dio.h
dirent.h
display.h fbdev: display class 2007-05-08 11:15:26 -07:00
dlm_device.h [DLM] interface for purge (2/2) 2007-05-01 09:11:12 +01:00
dlm.h
dm9000.h
dm-ioctl.h
dma-mapping.h
dmaengine.h dmaengine: make clients responsible for managing channels 2007-07-13 08:06:13 -07:00
dmapool.h
dmi.h
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1wm.h Driver for the Maxim DS1WM, a 1-wire bus master ASIC core 2007-05-08 11:15:14 -07:00
ds1286.h
ds17287rtc.h
dtlk.h
edd.h
efi.h EFI: warn only for pre-1.00 system tables 2007-05-08 11:15:10 -07:00
efs_dir.h
efs_fs_i.h
efs_fs_sb.h
efs_fs.h
efs_vh.h
eisa.h
elevator.h
elf-em.h blackfin architecture 2007-05-07 12:12:58 -07:00
elf-fdpic.h
elf.h [PATCH] i386: Relocate VDSO ELF headers to match mapped location with COMPAT_VDSO 2007-05-02 19:27:12 +02:00
elfcore.h
elfnote.h [PATCH] i386: Clean up ELF note generation 2007-05-02 19:27:17 +02:00
err.h
errno.h Better documentation for ERESTARTSYS 2007-06-01 08:18:29 -07:00
errqueue.h
etherdevice.h uml: improve checking and diagnostics of ethernet MACs 2007-05-07 12:13:02 -07:00
ethtool.h [ETHTOOL]: Add 2.5G bit definitions. 2007-05-03 13:17:25 -07:00
eventfd.h eventfd: clean compile when CONFIG_EVENTFD=n 2007-06-28 11:34:53 -07:00
eventpoll.h
ext2_fs_sb.h
ext2_fs.h
ext3_fs_i.h Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
ext3_fs_sb.h
ext3_fs.h ext3: copy i_flags to inode flags on write 2007-05-08 11:15:12 -07:00
ext3_jbd.h
ext4_fs_extents.h ext4: Extent overlap bugfix 2007-05-31 16:20:15 -04:00
ext4_fs_i.h EXT4: Fix whitespace 2007-05-31 16:20:14 -04:00
ext4_fs_sb.h
ext4_fs.h Define/reserve new ext4 superblock fields 2007-05-31 16:20:15 -04:00
ext4_jbd2.h
fadvise.h
fault-inject.h
fb.h fbdev: Move declaration of fb_class to <linux/fb.h> 2007-06-01 08:18:28 -07:00
fcdevice.h
fcntl.h locks: add lock cancel command 2007-05-06 20:38:28 -04:00
fd1772.h
fd.h
fddidevice.h
fdreg.h
fib_rules.h
file.h
filter.h
firewire-cdev.h firewire: Change struct fw_cdev_iso_packet to not use bitfields. 2007-05-31 21:40:15 +02:00
firewire-constants.h firewire: Break out shared IEEE1394 constant to separate header file. 2007-05-10 18:24:13 +02:00
firmware.h
flat.h
font.h fbcon: font setting should check limitation of driver 2007-05-08 11:15:31 -07:00
freezer.h freezer: move frozen_process() to kernel/power/process.c 2007-05-23 20:14:11 -07:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h document nlink function 2007-06-24 08:59:11 -07:00
fsl_devices.h ucc_geth: migrate ucc_geth to phylib 2007-04-28 11:01:04 -04:00
fsnotify.h
fuse.h
futex.h Revert "futex_requeue_pi optimization" 2007-06-18 09:48:41 -07:00
gameport.h
gen_stats.h
genalloc.h
generic_acl.h fix file specification in comments 2007-05-09 08:58:16 +02:00
generic_serial.h
genetlink.h
genhd.h genhd: send async notification on media change 2007-05-23 20:14:12 -07:00
getcpu.h
gfp.h Move remote node draining out of slab allocators 2007-05-09 12:30:56 -07:00
gfs2_ondisk.h
gigaset_dev.h
gpio_keys.h Input: gpio_keys - add support for switches (EV_SW) 2007-05-01 00:39:13 -04:00
hardirq.h
harrier_defs.h
hash.h
hayesesp.h
hdlc.h Generic HDLC sparse annotations 2007-04-28 11:01:07 -04:00
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hid-debug.h
hid.h USB HID: report descriptor of Cypress USB barcode readers needs fixup 2007-05-09 02:52:51 +02:00
hiddev.h
highmem.h fs: deprecate memclear_highpage_flush 2007-05-09 12:30:56 -07:00
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htirq.h
hugetlb.h shm: fix the filename of hugetlb sysv shared memory 2007-06-16 13:16:16 -07:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h include files: convert "include" subdirectory to UTF-8 2007-05-09 08:58:21 +02:00
i2c-algo-pca.h
i2c-algo-pcf.h include files: convert "include" subdirectory to UTF-8 2007-05-09 08:58:21 +02:00
i2c-algo-sgi.h
i2c-dev.h
i2c-gpio.h i2c: Bitbanging I2C bus driver using the GPIO API 2007-05-01 23:26:34 +02:00
i2c-id.h [ALSA] SoC WM8753 codec support 2007-05-11 16:56:02 +02:00
i2c-isa.h
i2c-ocores.h
i2c-pnx.h
i2c-pxa.h
i2c.h i2c: Restore i2c_smbus_read_block_data 2007-05-01 23:26:34 +02:00
i2o-dev.h
i2o.h
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h ide: HPA detect from resume 2007-06-08 15:14:30 +02:00
idr.h
ieee80211.h [MAC80211]: Add generic include/linux/ieee80211.h 2007-05-05 11:43:04 -07:00
if_addr.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 Add constant for FCS/CRC length (frame check sequence) 2007-05-21 19:41:19 -04:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h
if_ltalk.h
if_packet.h
if_plip.h
if_ppp.h
if_pppox.h
if_shaper.h
if_slip.h
if_strip.h
if_tr.h
if_tun.h
if_tunnel.h
if_vlan.h
if_wanpipe.h
if.h
igmp.h
in6.h
in_route.h
in.h
inet_diag.h
inet.h
inetdevice.h [IPV4]: include sysctl.h from inetdevice.h 2007-06-22 17:04:27 -07:00
init_task.h signal/timer/event: signalfd core 2007-05-11 08:29:36 -07:00
init.h kbuild: introduce __init_refok/__initdata_refok to supress section mismatch warnings 2007-05-19 09:11:58 +02:00
initrd.h
inotify.h
input-polldev.h Input: add skeleton for simple polled devices 2007-04-29 23:42:45 -04:00
input.h Input: document some of keycodes 2007-06-29 01:10:54 -04:00
interrupt.h Add hard_irq_disable() 2007-05-11 08:29:34 -07:00
io.h nommu: add ioremap_page_range() 2007-05-15 08:54:00 -07:00
ioc3.h
ioc4.h
ioctl.h
ioport.h libata/IDE: remove combined mode quirk 2007-04-28 14:15:59 -04:00
ioprio.h
ip6_tunnel.h
ip_mp_alg.h
ip.h
ipc.h Merge sys_clone()/sys_unshare() nsproxy and namespace handling 2007-05-08 11:15:00 -07:00
ipmi_msgdefs.h
ipmi_smi.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h [IPV6] ADDRCONF: Fix conflicts in DEVCONF_xxx constant. 2007-05-31 01:23:36 -07:00
ipx.h
irda.h include files: convert "include" subdirectory to UTF-8 2007-05-09 08:58:21 +02:00
irq_cpustat.h
irq.h Pad irq_desc to internode cacheline size 2007-05-08 11:15:09 -07:00
irqflags.h
irqreturn.h
isa.h
isapnp.h
isdn_divertif.h sanitize linux/isdn_divertif.h for userspace 2007-05-08 11:15:16 -07:00
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ixjuser.h
jbd2.h
jbd.h
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h include/linux/kallsyms.h must #include <linux/errno.h> 2007-07-07 13:49:51 -07:00
kbd_diacr.h
kbd_kern.h
Kbuild firewire: Install firewire-constants.h and firewire-cdev.h for userspace. 2007-05-31 21:40:15 +02:00
kd.h
kdebug.h move die notifier handling to common code 2007-05-08 11:15:04 -07:00
kdev_t.h
kernel_stat.h
kernel.h hexdump: more output formatting 2007-06-08 17:23:34 -07:00
kernelcapi.h
kexec.h kdump/kexec: calculate note size at compile time 2007-05-08 11:15:07 -07:00
key-ui.h
key.h
keyboard.h
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h Slab allocators: define common size limitations 2007-05-17 05:23:04 -07:00
kmod.h
kobj_map.h
kobject.h remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
kprobes.h Kprobes: The ON/OFF knob thru debugfs 2007-05-08 11:15:19 -07:00
kref.h
ks0108.h
kthread.h kthread: don't depend on work queues 2007-05-09 12:30:53 -07:00
ktime.h [TCP]: Congestion control API RTT sampling fix 2007-06-15 15:08:43 -07:00
kvm_para.h
kvm.h KVM: Remove unused 'instruction_length' 2007-05-03 10:52:32 +03:00
lapb.h
latency.h
lcd.h
leds.h
libata.h libata: kill ATA_HORKAGE_DMA_RW_ONLY 2007-06-27 02:50:08 -04:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
list.h include/linux: trivial repair whitespace damage 2007-05-12 18:11:06 -07:00
llc.h
lm_interface.h
lock_dlm_plock.h
lockdep.h
log2.h Fix roundup_pow_of_two(1) 2007-05-18 20:46:30 -07:00
loop.h remove artificial software max_loop limit 2007-05-08 11:15:07 -07:00
lp.h
m41t00.h
m48t86.h
magic.h signal/timer/event fds: anonymous inode source 2007-05-11 08:29:36 -07:00
major.h mmc: use assigned major for block device 2007-05-14 18:51:43 +02:00
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h rtc-cmos wakeup interface 2007-05-08 11:15:18 -07:00
mca-legacy.h
mca.h mca: add integrated device bus matching 2007-05-09 12:30:49 -07:00
memory_hotplug.h
memory.h
mempolicy.h
mempool.h
meye.h include files: convert "include" subdirectory to UTF-8 2007-05-09 08:58:21 +02:00
migrate.h page migration: Only migrate pages if allocation in the highest zone is possible 2007-05-07 12:12:57 -07:00
mii.h [NET]: Fix BMSR_100{HALF,FULL}2 defines in linux/mii.h 2007-05-17 14:20:29 -07:00
minix_fs.h
miscdevice.h KVM: Use own minor number 2007-05-03 10:52:22 +03:00
mm_inline.h
mm_types.h slub: support concurrent local and remote frees and allocs on a slab 2007-05-10 09:26:52 -07:00
mm.h page_mapping must avoid slub pages 2007-06-21 15:55:12 -07:00
mman.h
mmtimer.h
mmzone.h Move remote node draining out of slab allocators 2007-05-09 12:30:56 -07:00
mnt_namespace.h Merge sys_clone()/sys_unshare() nsproxy and namespace handling 2007-05-08 11:15:00 -07:00
mod_devicetable.h kbuild: remove dependency on input.h from file2alias 2007-05-02 20:58:08 +02:00
module.h module_author: don't advise putting in an email address 2007-05-11 08:29:35 -07:00
moduleloader.h
moduleparam.h
mount.h Fix misspellings collected by members of KJ list. 2007-05-09 07:14:03 +02:00
mpage.h consolidate generic_writepages and mpage_writepages 2007-05-11 08:29:35 -07:00
mqueue.h
mroute.h
msdos_fs.h fat: don't use free_clusters for fat32 2007-05-08 11:15:13 -07:00
msg.h
msi.h MSI: Give archs the option to free all MSI/Xs at once. 2007-05-02 19:02:38 -07:00
mtio.h
mutex-debug.h
mutex.h mutex_lock_interruptible(): add __must_check 2007-05-09 12:30:49 -07:00
mv643xx.h
n_r3964.h
namei.h security: prevent permission checking of file removal via sysfs_remove_group() 2007-04-27 10:57:33 -07:00
nbd.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
neighbour.h
net.h
netdevice.h [NET] napi: Call __netif_rx_complete in netif_rx_complete 2007-05-31 01:23:35 -07:00
netfilter_arp.h
netfilter_bridge.h [NETFILTER]: bridge netfilter: consolidate header pushing/pulling code 2007-05-03 03:36:16 -07:00
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink.h [NETLINK]: Remove references to process ID 2007-05-05 11:42:03 -07:00
netpoll.h
netrom.h
nfs2.h
nfs3.h
nfs4_acl.h remove nfs4_acl_add_ace() 2007-05-09 12:30:54 -07:00
nfs4_mount.h
nfs4.h NFS4: Fix incorrect use of sizeof() in fs/nfs/nfs4xdr.c 2007-05-14 19:33:45 -04:00
nfs_fs_i.h
nfs_fs_sb.h nfs: fix congestion control: use atomic_longs 2007-05-08 11:15:21 -07:00
nfs_fs.h NFS: Fix a buffer overflow in the allocation of struct nfs_read/writedata 2007-04-30 22:17:07 -07:00
nfs_idmap.h
nfs_mount.h NFS: Added support to turn off the NFSv3 READDIRPLUS RPC. 2007-04-30 22:17:16 -07:00
nfs_page.h NFS: Avoid a deadlock situation on write 2007-05-24 10:44:20 -04:00
nfs_xdr.h
nfs.h
nfsacl.h
nfsd_idmap.h
nl80211.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
nsc_gpio.h
nsproxy.h Merge sys_clone()/sys_unshare() nsproxy and namespace handling 2007-05-08 11:15:00 -07:00
nubus.h NuBus header update 2007-05-04 17:59:07 -07:00
numa.h
nvram.h
oom.h
oprofile.h
page-flags.h mm: remove unused page flags 2007-05-07 12:12:59 -07:00
pagemap.h Factor outstanding I/O error handling 2007-05-08 11:14:57 -07:00
pagevec.h
param.h
parport_pc.h parport->dev driver model support 2007-05-08 11:15:05 -07:00
parport.h parport->dev driver model support 2007-05-08 11:15:05 -07:00
parser.h Fix nfsroot build 2007-05-05 14:15:32 -07:00
pata_platform.h
patchkey.h
pci_hotplug.h remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
pci_ids.h sis5513: adding PCI-ID 2007-07-08 15:21:58 +02:00
pci_regs.h
pci-acpi.h
pci.h pci.h stubs (for EDD build error) 2007-07-01 12:29:44 -07:00
pcieport_if.h
percpu_counter.h
percpu.h [PATCH] x86-64: Account for module percpu space separately from kernel percpu 2007-05-02 19:27:11 +02:00
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h Misc: add sensable phantom driver 2007-05-08 11:15:14 -07:00
phonedev.h
phy.h phylib: add RGMII-ID interface mode definition 2007-04-28 11:01:04 -04:00
pid_namespace.h Merge sys_clone()/sys_unshare() nsproxy and namespace handling 2007-05-08 11:15:00 -07:00
pid.h statically initialize struct pid for swapper 2007-05-11 08:29:35 -07:00
pipe_fs_i.h pipe: move pipe_inode_info structure decleration up before it's used 2007-06-08 08:33:53 +02:00
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
plist.h
pm_legacy.h
pm.h PM: introduce set_target method in pm_ops 2007-07-01 12:29:44 -07:00
pmu.h [POWERPC] pmu_sys_suspended is only defined for PPC32 2007-05-10 21:28:13 +10:00
pnp.h PNP: notice whether we have PNP devices (PNPBIOS or PNPACPI) 2007-05-08 11:15:23 -07:00
pnpbios.h
poison.h Increase slab redzone to 64bits 2007-05-08 11:14:57 -07:00
poll.h
posix_acl_xattr.h
posix_acl.h
posix_types.h
posix-timers.h
ppdev.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
prctl.h
preempt.h
prefetch.h
prio_tree.h
proc_fs.h Fix race between proc_get_inode() and remove_proc_entry() 2007-05-08 11:15:01 -07:00
profile.h
ps2esdi.h
ptrace.h
qnx4_fs.h
qnxtypes.h
quicklist.h Quicklists for page table pages 2007-05-07 12:12:54 -07:00
quota.h hide spinlock in linux/quota.h behind __KERNEL__ 2007-05-08 11:15:15 -07:00
quotaio_v1.h
quotaio_v2.h
quotaops.h make remove_inode_dquot_ref() static 2007-05-08 11:15:05 -07:00
radeonfb.h
radix-tree.h Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h
reboot.h
reciprocal_div.h
reiserfs_acl.h
reiserfs_fs_i.h
reiserfs_fs_sb.h reiserfs: shrink superblock if no xattrs 2007-05-08 11:15:00 -07:00
reiserfs_fs.h
reiserfs_xattr.h
relay.h relay: use plain timer instead of delayed work 2007-05-09 12:30:51 -07:00
resource.h
resume-trace.h
rfkill.h [RFKILL]: Make rfkill->name const 2007-06-07 13:39:34 -07:00
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h mm: more rmap checking 2007-05-17 05:23:06 -07:00
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h [RSLIB] Support non-canonical GF representations 2007-05-02 11:56:33 +01:00
rtc-v3020.h
rtc.h revert "rtc: Add rtc_merge_alarm()" 2007-05-08 11:15:18 -07:00
rtmutex.h
rtnetlink.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h pi-futex: fix exit races and locking problems 2007-06-08 17:23:34 -07:00
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdla.h
seccomp.h
securebits.h
security.h Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
selection.h
selinux_netlink.h
selinux.h
sem.h
seq_file.h
seqlock.h seqlocks: trivial remove weird whitespace 2007-04-27 10:44:42 -07:00
serial167.h
serial_8250.h
serial_core.h serial_core.h: include <linux/sysrq.h> 2007-06-01 08:18:29 -07:00
serial_pnx8xxx.h
serial_reg.h serial driver PMC MSP71xx 2007-05-07 12:12:50 -07:00
serial.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h signal/timer/event: signalfd core 2007-05-11 08:29:36 -07:00
signalfd.h signal/timer/event: signalfd core 2007-05-11 08:29:36 -07:00
skbuff.h [TCP]: Congestion control API RTT sampling fix 2007-06-15 15:08:43 -07:00
slab_def.h SLAB: Move two remaining SLAB specific definitions to slab_def.h 2007-05-17 05:23:03 -07:00
slab.h slab allocators: MAX_ORDER one off fix 2007-06-24 08:59:12 -07:00
slub_def.h SLUB: minimum alignment fixes 2007-06-16 13:16:16 -07:00
sm501-regs.h SM501: Check SM501 ID register on initialisation 2007-06-24 08:59:11 -07:00
sm501.h
smb_fs_i.h
smb_fs_sb.h
smb_fs.h Fix headers check fallout 2007-05-21 21:47:27 -07:00
smb_mount.h
smb.h
smbno.h
smp_lock.h
smp.h Let smp_call_function_single return -EBUSY on UP 2007-05-17 05:23:04 -07:00
snmp.h [SNMP]: Add definitions for {In,Out}BcastPkts 2007-04-30 00:58:19 -07:00
socket.h
sockios.h
som.h
sonet.h
sony-laptop.h sony-laptop: add a meye-usable include file for camera ops 2007-04-28 22:06:01 -04:00
sonypi.h include files: convert "include" subdirectory to UTF-8 2007-05-09 08:58:21 +02:00
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h Document SPIN_LOCK_UNLOCKED/RW_LOCK_UNLOCKED deprecation 2007-05-08 11:15:11 -07:00
spinlock_up.h
spinlock.h
srcu.h
stacktrace.h simplify the stacktrace code 2007-05-08 11:14:58 -07:00
stallion.h
start_kernel.h
stat.h utimensat implementation 2007-05-08 11:15:18 -07:00
statfs.h
stddef.h
stop_machine.h
string.h
stringify.h
superhyway.h
suspend.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-05-09 12:56:01 -07:00
svga.h svgalib: move fb_get_caps to svgalib 2007-05-09 12:30:57 -07:00
swap.h
swapops.h
synclink.h synclink_gt: add compat_ioctl 2007-05-11 08:29:34 -07:00
sys.h
syscalls.h Introduce fixed sys_sync_file_range2() syscall, implement on PowerPC and ARM 2007-06-28 11:38:30 -07:00
sysctl.h
sysdev.h <linux/sysdev.h> needs to include <linux/module.h> 2007-05-08 11:15:05 -07:00
sysfs.h device_schedule_callback() needs a module reference 2007-04-27 10:57:32 -07:00
sysrq.h
sysv_fs.h
task_io_accounting_ops.h Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
task_io_accounting.h
taskstats_kern.h
taskstats.h
tc.h
tcp.h
telephony.h
termios.h
textsearch_fsm.h
textsearch.h
tfrc.h
thread_info.h
threads.h
ticable.h
tick.h
tifm.h disable socket power in adapter driver instead of media one 2007-05-08 22:41:47 +02:00
time.h utimensat implementation 2007-05-08 11:15:18 -07:00
timer.h NOHZ: prevent multiplication overflow - stop timer for huge timeouts 2007-05-29 18:11:10 -07:00
timerfd.h signal/timer/event: timerfd core 2007-05-11 08:29:36 -07:00
times.h
timex.h
tiocl.h
tipc_config.h
tipc.h
topology.h
toshiba.h
transport_class.h
trdevice.h
tsacct_kern.h
tty_driver.h tty: add compat_ioctl 2007-05-11 08:29:35 -07:00
tty_flip.h
tty_ldisc.h tty: add compat_ioctl 2007-05-11 08:29:35 -07:00
tty.h tty: introduce no_tty and use it in selinux 2007-05-08 11:15:04 -07:00
types.h
uaccess.h
udf_fs_i.h
udf_fs_sb.h
udf_fs.h
udp.h
ufs_fs_i.h
ufs_fs_sb.h
ufs_fs.h
uinput.h Input: pull input.h into uinpit.h 2007-05-03 00:55:34 -04:00
uio.h
ultrasound.h
umem.h
un.h
unistd.h
unwind.h
usb_gadget.h
usb_gadgetfs.h
usb_sl811.h blackfin architecture 2007-05-07 12:12:58 -07:00
usb_usual.h
usb.h Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
usbdevice_fs.h
user.h
utime.h
uts.h
utsname.h Merge sys_clone()/sys_unshare() nsproxy and namespace handling 2007-05-08 11:15:00 -07:00
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev2.h V4L/DVB (5736): Add V4L2_FBUF_CAP/FLAG_LOCAL/GLOBAL_INV_ALPHA 2007-06-08 08:21:15 -03:00
videodev.h
videotext.h
vmalloc.h move die notifier handling to common code 2007-05-08 11:15:04 -07:00
vmstat.h vmstat: use our own timer events 2007-05-09 12:30:56 -07:00
vt_buffer.h
vt_kern.h use mutex instead of semaphore in virtual console driver 2007-05-08 11:15:33 -07:00
vt.h
wait.h
wanrouter.h
watchdog.h
wireless.h [PATCH] Update my email address from jkmaline@cc.hut.fi to j@w1.fi 2007-04-28 11:01:01 -04:00
workqueue.h revert "cancel_delayed_work: use del_timer() instead of del_timer_sync()" 2007-05-18 08:17:17 -07:00
writeback.h Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
x25.h
xattr.h
xfrm.h [XFRM] SPD info TLV aggregation 2007-05-04 12:55:39 -07:00
yam.h
zconf.h
zlib.h
zorro_ids.h
zorro.h
zutil.h