twx-linux/include/linux
Nick Piggin 08291429cf mm: fix pagecache write deadlocks
Modify the core write() code so that it won't take a pagefault while holding a
lock on the pagecache page. There are a number of different deadlocks possible
if we try to do such a thing:

1.  generic_buffered_write
2.   lock_page
3.    prepare_write
4.     unlock_page+vmtruncate
5.     copy_from_user
6.      mmap_sem(r)
7.       handle_mm_fault
8.        lock_page (filemap_nopage)
9.    commit_write
10.  unlock_page

a. sys_munmap / sys_mlock / others
b.  mmap_sem(w)
c.   make_pages_present
d.    get_user_pages
e.     handle_mm_fault
f.      lock_page (filemap_nopage)

2,8	- recursive deadlock if page is same
2,8;2,8	- ABBA deadlock is page is different
2,6;b,f	- ABBA deadlock if page is same

The solution is as follows:
1.  If we find the destination page is uptodate, continue as normal, but use
    atomic usercopies which do not take pagefaults and do not zero the uncopied
    tail of the destination. The destination is already uptodate, so we can
    commit_write the full length even if there was a partial copy: it does not
    matter that the tail was not modified, because if it is dirtied and written
    back to disk it will not cause any problems (uptodate *means* that the
    destination page is as new or newer than the copy on disk).

1a. The above requires that fault_in_pages_readable correctly returns access
    information, because atomic usercopies cannot distinguish between
    non-present pages in a readable mapping, from lack of a readable mapping.

2.  If we find the destination page is non uptodate, unlock it (this could be
    made slightly more optimal), then allocate a temporary page to copy the
    source data into. Relock the destination page and continue with the copy.
    However, instead of a usercopy (which might take a fault), copy the data
    from the pinned temporary page via the kernel address space.

(also, rename maxlen to seglen, because it was confusing)

This increases the CPU/memory copy cost by almost 50% on the affected
workloads. That will be solved by introducing a new set of pagecache write
aops in a subsequent patch.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-16 09:42:54 -07:00
..
amba
byteorder
dvb
hdlc
isdn
lockd
mlx4 IB/mlx4: Implement FMRs 2007-10-09 19:59:16 -07:00
mmc mmc: add led trigger 2007-09-24 07:15:48 +02:00
mtd [MTD] [NOR] fix ctrl-alt-del can't reboot for intel flash bug 2007-10-13 14:36:18 +01:00
netfilter [NETFILTER]: Replace sk_buff ** with sk_buff * 2007-10-15 12:26:29 -07:00
netfilter_arp [NETFILTER]: Replace sk_buff ** with sk_buff * 2007-10-15 12:26:29 -07:00
netfilter_bridge [NETFILTER]: Replace sk_buff ** with sk_buff * 2007-10-15 12:26:29 -07:00
netfilter_ipv4 [NETFILTER]: Replace sk_buff ** with sk_buff * 2007-10-15 12:26:29 -07:00
netfilter_ipv6 [NETFILTER]: Replace sk_buff ** with sk_buff * 2007-10-15 12:26:29 -07:00
nfsd knfsd: 64 bit ino support for NFS server 2007-10-09 18:31:57 -04:00
raid
rtc
spi mmc_spi host driver 2007-09-23 22:17:27 +02:00
ssb [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00
sunrpc Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 2007-10-15 10:47:35 -07:00
tc_act [PKT_SCHED]: Add stateless NAT 2007-10-10 16:53:11 -07:00
tc_ematch
usb docbook: fix usb content 2007-10-15 17:56:36 -07:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi_pmtmr.h
acpi.h
adb.h
adfs_fs_i.h
adfs_fs_sb.h
adfs_fs.h
aer.h PCI AER: fix warnings when PCIEAER=n 2007-09-11 04:22:16 -07:00
affs_hardblocks.h
agp_backend.h
agpgart.h long vs. unsigned long - low-hanging fruits in drivers 2007-10-14 12:41:51 -07:00
aio_abi.h
aio.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm_bios.h
apm-emulation.h
arcdevice.h arcnet endianness annotations 2007-10-10 16:51:59 -07:00
arcfb.h
async_tx.h
ata.h libata: add human-readable error value decoding 2007-10-12 14:55:45 -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 [XFRM]: xfrm audit calls 2007-10-10 16:49:02 -07:00
auto_fs4.h
auto_fs.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h backlight: Convert corgi backlight driver into a more generic driver 2007-10-11 22:24:13 +01:00
baycom.h
bcd.h
bfs_fs.h
binfmts.h
bio.h Drop 'size' argument from bio_endio and bi_end_io 2007-10-10 09:25:57 +02:00
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blkdev.h [BLOCK] Move sector_div() from blkdev.h to kernel.h 2007-10-12 12:40:38 +02:00
blkpg.h
blktrace_api.h [BLOCK] Better fix for do_blk_trace_setup() for !CONFIG_BLOCK 2007-10-12 12:50:07 +02:00
blockgroup_lock.h
bootmem.h
bottom_half.h
bpqether.h
bsg.h
buffer_head.h
bug.h
cache.h
calc64.h
capability.h
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
chio.h
circ_buf.h
clk.h
clockchips.h clockevents: introduce force broadcast notifier 2007-10-14 22:57:45 +02:00
clocksource.h
cm4000_cs.h
cn_proc.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_psdev.h
coda.h
coff.h
com20020.h
compat.h
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
configfs.h
connector.h [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
console_struct.h
console.h
consolemap.h
const.h
cpu.h PM: Fix dependencies of CONFIG_SUSPEND and CONFIG_HIBERNATION 2007-08-31 01:42:22 -07:00
cpufreq.h [CPUFREQ] implement !CONFIG_CPU_FREQ stub for cpufreq_unregister_notifier() 2007-10-04 18:40:57 -04:00
cpumask.h
cpuset.h
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h
crc7.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h
crypto.h [CRYPTO] api: Fixed crypto_*_reqsize return type 2007-10-10 16:55:42 -07:00
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h
dccp.h [DCCP]: Tidy-up -- minisock initialisation 2007-10-10 16:54:36 -07:00
dcookies.h
debug_locks.h
debugfs.h debugfs: helper for decimal challenged 2007-10-12 14:51:03 -07:00
delay.h
delayacct.h
device-mapper.h
device.h Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
devpts_fs.h
dio.h
dirent.h
display.h
dlm_device.h
dlm_netlink.h
dlm.h
dm9000.h
dm-ioctl.h
dma-mapping.h introduce DMA_MASK_NONE as a signal for unable to do DMA 2007-10-16 09:42:50 -07:00
dmaengine.h
dmapool.h
dmi.h drivers/firmware: const-ify DMI API and internals 2007-10-09 20:22:20 -04:00
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1wm.h
ds1286.h
ds17287rtc.h
dtlk.h
edac.h
edd.h
eeprom_93cx6.h ax88796: add 93cx6 eeprom support 2007-10-10 16:53:56 -07:00
efi.h
efs_dir.h
efs_fs_i.h
efs_fs_sb.h
efs_fs.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h [POWERPC] spufs: Cleanup ELF coredump extra notes logic 2007-09-19 15:12:19 +10:00
elfcore.h
elfnote.h
err.h
errno.h
errqueue.h
etherdevice.h [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
ethtool.h [ETHTOOL]: Introduce ->{get,set}_priv_flags, ETHTOOL_[GS]PFLAGS 2007-10-10 16:48:08 -07:00
eventfd.h
eventpoll.h
exportfs.h
ext2_fs_sb.h
ext2_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_fs.h
ext3_jbd.h
ext4_fs_extents.h
ext4_fs_i.h
ext4_fs_sb.h
ext4_fs.h
ext4_jbd2.h
fadvise.h
falloc.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd1772.h
fd.h
fddidevice.h
fdreg.h
fib_rules.h
file.h
filter.h
firewire-cdev.h
firewire-constants.h
firmware.h
flat.h
font.h
freezer.h
fs_enet_pd.h fs_enet: Be an of_platform device when CONFIG_PPC_CPM_NEW_BINDING is set. 2007-10-10 16:54:03 -07:00
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h readahead: combine file_ra_state.prev_index/prev_offset into prev_pos 2007-10-16 09:42:52 -07:00
fsl_devices.h
fsnotify.h
fuse.h
futex.h
gameport.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h
getcpu.h
gfp.h
gfs2_ondisk.h [GFS2] Fix quota do_list operation hang 2007-10-10 08:55:27 +01:00
gigaset_dev.h
gpio_keys.h Input: gpio-keys - add suspend/resume support 2007-09-26 00:01:17 -04:00
gpio_mouse.h
hardirq.h
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h long vs. unsigned long - low-hanging fruits in drivers 2007-10-14 12:41:51 -07:00
hdpu_features.h
hdreg.h
hdsmart.h
hid-debug.h
hid.h HID: fix HIDIOCGRDESC memory access in hidraw 2007-10-15 08:12:00 -07:00
hiddev.h
hidraw.h HID: fix HIDIOCGRDESC memory access in hidraw 2007-10-15 08:12:00 -07:00
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htirq.h
hugetlb.h hugepage: fix broken check for offset alignment in hugepage mappings 2007-08-31 01:42:23 -07:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h hwmon: Convert from class_device to device 2007-10-09 22:56:30 -04:00
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-dev.h i2c: Move i2c-dev interfaces to i2c-dev.h 2007-10-13 23:56:32 +02:00
i2c-gpio.h
i2c-id.h V4L/DVB (6149): Add I2C_HW_B_CX23885 for Conexant 23885/23887 PCIe bridge 2007-10-09 22:07:51 -03:00
i2c-ocores.h
i2c-pnx.h
i2c-pxa.h
i2c.h i2c: Rename the PEC functionality bit 2007-10-13 23:56:33 +02:00
i2o-dev.h
i2o.h
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h ide: move ide_config_drive_speed() calls to upper layers (take 2) 2007-10-13 17:47:51 +02:00
idr.h
ieee80211.h [PATCH] wireless networking: move frame inline functions to generic header 2007-10-10 16:52:59 -07:00
if_addr.h
if_arcnet.h arcnet endianness annotations 2007-10-10 16:51:59 -07:00
if_arp.h
if_bonding.h
if_bridge.h [NETFILTER]: Replace sk_buff ** with sk_buff * 2007-10-15 12:26:29 -07:00
if_cablemodem.h
if_ec.h
if_eql.h [NET] drivers/net: statistics cleanup #1 -- save memory and shrink code 2007-10-10 16:51:16 -07:00
if_ether.h [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h [NET]: netlink support for moving devices between network namespaces. 2007-10-10 16:49:13 -07:00
if_ltalk.h
if_macvlan.h
if_packet.h
if_plip.h
if_ppp.h
if_pppol2tp.h [PPPOL2TP]: Fix endianness annotations. 2007-08-26 18:35:42 -07:00
if_pppox.h pppoe: endianness 2007-10-10 16:52:04 -07:00
if_shaper.h [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
if_slip.h
if_strip.h
if_tr.h
if_tun.h [NET] drivers/net: statistics cleanup #1 -- save memory and shrink code 2007-10-10 16:51:16 -07:00
if_tunnel.h
if_vlan.h [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
if_wanpipe.h
if.h
igmp.h
in6.h
in_route.h
in.h
inet_diag.h
inet_lro.h fix endianness bug in inet_lro 2007-10-14 12:41:52 -07:00
inet.h
inetdevice.h
init_task.h [NETNS]: Fix allnoconfig compilation error. 2007-10-10 16:49:21 -07:00
init.h Add assembler equivalents to __init{,date}_refok 2007-10-16 09:42:49 -07:00
initrd.h
inotify.h
input-polldev.h
input.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2007-10-15 13:41:39 -07:00
interrupt.h provide stubs for enable_irq_wake() and disable_irq_wake() 2007-10-16 09:42:50 -07:00
io.h
ioc3.h
ioc4.h
ioctl.h
ioport.h
ioprio.h
ip6_tunnel.h
ip.h
ipc.h
ipmi_msgdefs.h
ipmi_smi.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h [IPSEC]: Get rid of ipv6_{auth,esp,comp}_hdr 2007-10-10 16:55:55 -07:00
ipx.h
irda.h
irq_cpustat.h
irq.h
irqflags.h
irqreturn.h
isa.h Fix non-ISA link error in drivers/scsi/advansys.c 2007-09-16 21:13:58 -07:00
isapnp.h
isdn_divertif.h
isdn_ppp.h
isdn.h [ISDN]: Remove local copy of device name to make sure renames work. 2007-10-15 12:26:37 -07:00
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h V4L/DVB (6123): ivtv: move ivtv.h public header to include/linux 2007-10-09 22:07:28 -03:00
ivtvfb.h V4L/DVB (6119): ivtvfb: renamed ivtv-fb to ivtvfb, move header to include/linux 2007-10-09 22:07:23 -03:00
ixjuser.h
jbd2.h
jbd.h docbook: fix filesystems content 2007-10-15 17:56:36 -07:00
jffs2.h
jhash.h
jiffies.h slow down printk during boot 2007-10-16 09:42:49 -07:00
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible 2007-08-22 19:52:45 -07:00
Kbuild [KBUILD]: Sanitize tc_ematch headers. 2007-08-26 18:35:34 -07:00
kd.h
kdebug.h
kdev_t.h
kernel_stat.h sched: guest CPU accounting: add guest-CPU /proc/stat field 2007-10-15 17:00:19 +02:00
kernel.h [BLOCK] Move sector_div() from blkdev.h to kernel.h 2007-10-12 12:40:38 +02:00
kernelcapi.h
kexec.h
key-ui.h
key.h
keyboard.h Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2007-10-12 21:27:47 -04:00
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject.h kobject: update the copyrights 2007-10-12 14:51:12 -07:00
kprobes.h
kref.h
ks0108.h
kthread.h
ktime.h [KTIME]: Introduce ktime_sub_ns and ktime_sub_us 2007-10-10 16:48:12 -07:00
kvm_para.h
kvm.h KVM: Replace enum by #define 2007-10-13 10:18:29 +02:00
lapb.h
latency.h
lcd.h
leds.h leds: Add missing include for leds.h 2007-09-11 22:24:45 +01:00
lguest_bus.h
lguest_launcher.h
lguest.h
libata.h [libata] struct pci_dev related cleanups 2007-10-12 14:55:47 -04:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
list.h [NETNS]: Cleanup list walking in setup_net and cleanup_net 2007-10-10 16:51:35 -07:00
llc.h
lm_interface.h
lock_dlm_plock.h
lockdep.h lockdep: annotate rcu_read_{,un}lock{,_bh} 2007-10-11 22:11:12 +02:00
log2.h
loop.h
lp.h
lzo.h
m41t00.h
m48t86.h
magic.h
major.h
maple.h sh: Add maple bus support for the SEGA Dreamcast. 2007-09-21 15:55:55 +09:00
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h Generic bitbanged MDIO library 2007-10-10 16:54:03 -07:00
memory_hotplug.h Clean up duplicate includes in include/linux/memory_hotplug.h 2007-10-16 09:42:52 -07:00
memory.h
mempolicy.h Mem Policy: add MPOL_F_MEMS_ALLOWED get_mempolicy() flag 2007-10-16 09:42:54 -07:00
mempool.h
meye.h
migrate.h
mii.h
minix_fs.h
miscdevice.h
mm_inline.h
mm_types.h move mm_struct and vm_area_struct 2007-10-16 09:42:53 -07:00
mm.h move mm_struct and vm_area_struct 2007-10-16 09:42:53 -07:00
mman.h
mmtimer.h
mmzone.h sparsemem: record when a section has a valid mem_map 2007-10-16 09:42:51 -07:00
mnt_namespace.h
mod_devicetable.h i2c: Kill struct i2c_device_id 2007-10-13 23:56:29 +02:00
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
msdos_fs.h
msg.h
msi.h
mtio.h
mutex-debug.h
mutex.h lockdep: fixup mutex annotations 2007-10-11 22:11:12 +02:00
mv643xx.h
n_r3964.h
namei.h
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 [NET]: Make socket creation namespace safe. 2007-10-10 16:49:07 -07:00
netdevice.h net core: fix kernel-doc for new function parameters 2007-10-13 09:52:26 -07:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h [NETFILTER]: Replace sk_buff ** with sk_buff * 2007-10-15 12:26:29 -07:00
netfilter_ipv6.h
netfilter.h [NETFILTER]: Replace sk_buff ** with sk_buff * 2007-10-15 12:26:29 -07:00
netlink.h [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
netpoll.h [NET] netconsole: Support dynamic reconfiguration using configfs 2007-10-10 16:48:06 -07:00
netrom.h
nfs2.h
nfs3.h
nfs4_acl.h
nfs4_mount.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h NFS: Add a boot parameter to disable 64 bit inode numbers 2007-10-09 17:20:52 -04:00
nfs_idmap.h
nfs_mount.h
nfs_page.h NFS: Clean up write code... 2007-10-09 17:15:11 -04:00
nfs_xdr.h NFS: Fake up 'wcc' attributes to prevent cache invalidation after write 2007-10-09 17:19:15 -04:00
nfs.h
nfsacl.h
nfsd_idmap.h
nl80211.h [NL80211]: add netlink interface to cfg80211 2007-10-10 16:52:14 -07:00
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h [NET]: Add a network namespace parameter to tasks 2007-10-10 16:49:04 -07:00
nubus.h
numa.h
nvram.h
of_device.h
of_platform.h
of.h [POWERPC] Remove get_property and device_is_compatible 2007-08-17 11:01:58 +10:00
oom.h
oprofile.h
page-flags.h
pagemap.h mm: fix pagecache write deadlocks 2007-10-16 09:42:54 -07:00
pagevec.h
param.h
parport_pc.h
parport.h
parser.h
pata_platform.h
patchkey.h
pci_hotplug.h
pci_ids.h 8250_pci: Autodetect mainpine cards 2007-10-16 09:42:50 -07:00
pci_regs.h PCI: modify PCI bridge control ISA flag for clarity 2007-10-12 15:03:18 -07:00
pci-acpi.h
pci.h PCI: Add 'nodomains' boot option, and pci_domains_supported global 2007-10-12 15:03:18 -07:00
pcieport_if.h
pda_power.h
percpu_counter.h
percpu.h
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phy_fixed.h PHY fixed driver: rework release path and update phy_id notation 2007-10-10 16:53:50 -07:00
phy.h PHYLIB: IRQ event workqueue handling fixes 2007-10-10 16:53:55 -07:00
pid_namespace.h
pid.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h [NET_SCHED]: Making rate table lookups more flexible. 2007-10-10 16:49:20 -07:00
pktcdvd.h
platform_device.h Driver core: Make platform_device.id an int 2007-10-12 14:51:07 -07:00
plist.h
pm_legacy.h
pm.h
pmu.h [POWERPC] Fix undefined reference to device_power_up/resume 2007-08-25 16:58:27 +10:00
pnp.h
pnpbios.h
poison.h
poll.h Fix select on /proc files without ->poll 2007-09-11 17:21:20 -07:00
posix_acl_xattr.h
posix_acl.h
posix_types.h
posix-timers.h
power_supply.h
ppdev.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
prctl.h
preempt.h
prefetch.h
prio_tree.h
proc_fs.h [NET]: Fix race when opening a proc file while a network namespace is exiting. 2007-10-10 16:49:22 -07:00
profile.h
ps2esdi.h
ptrace.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h radix-tree: use indirect bit 2007-10-16 09:42:53 -07:00
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h lockdep: annotate rcu_read_{,un}lock{,_bh} 2007-10-11 22:11:12 +02:00
reboot.h
reciprocal_div.h
reiserfs_acl.h
reiserfs_fs_i.h
reiserfs_fs_sb.h more low-hanging fruits - kernel, fs, lib signedness 2007-10-14 12:41:52 -07:00
reiserfs_fs.h
reiserfs_xattr.h
relay.h
resource.h
resume-trace.h
rfkill.h [RFKILL]: Add support for hardware-only rfkill buttons 2007-10-10 16:54:11 -07:00
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h [IPv6]: Export userland ND options through netlink (RDNSS support) 2007-10-10 21:22:05 -07:00
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h move mm_struct and vm_area_struct 2007-10-16 09:42:53 -07:00
screen_info.h
sctp.h [SCTP]: protocol definitions for SCTP-AUTH implementation 2007-10-10 16:51:28 -07:00
scx200_gpio.h long vs. unsigned long - low-hanging fruits in drivers 2007-10-14 12:41:51 -07:00
scx200.h
sdla.h
seccomp.h
securebits.h
security.h fix NULL pointer dereference in __vm_enough_memory() 2007-08-22 19:52:45 -07:00
selection.h selection.h: add tty_struct forward declaration 2007-08-22 19:52:47 -07:00
selinux_netlink.h
selinux.h
sem.h
seq_file.h [FS] seq_file: Introduce the seq_open_private() 2007-10-10 16:55:33 -07:00
seqlock.h
serial167.h
serial_8250.h
serial_core.h wake up from a serial port 2007-10-16 09:42:50 -07:00
serial_pnx8xxx.h
serial_reg.h Serial 8250: handle saving the clear-on-read bits from the LSR and MSR 2007-08-22 19:52:44 -07:00
serial.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h
signalfd.h signalfd simplification 2007-09-20 13:19:59 -07:00
skbuff.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2007-10-15 14:06:58 -07:00
slab_def.h
slab.h
slob_def.h
slub_def.h SLUB: direct pass through of page size or higher kmalloc requests 2007-10-16 09:42:53 -07:00
sm501-regs.h
sm501.h
smb_fs_i.h
smb_fs_sb.h
smb_fs.h
smb_mount.h
smb.h
smbno.h
smp_lock.h
smp.h
snmp.h [TCP] MIB: Count FRTO's successfully detected spurious RTOs 2007-10-10 16:52:39 -07:00
socket.h
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h
splice.h
srcu.h
stacktrace.h
stallion.h long vs. unsigned long - low-hanging fruits in drivers 2007-10-14 12:41:51 -07:00
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
stringify.h
superhyway.h
suspend.h
svga.h
swap.h Drop 'size' argument from bio_endio and bi_end_io 2007-10-10 09:25:57 +02:00
swapops.h
synclink.h
sys.h
syscalls.h
sysctl.h
sysdev.h
sysfs.h sysfs: add copyrights 2007-10-12 14:51:12 -07:00
sysrq.h
sysv_fs.h
task_io_accounting_ops.h
task_io_accounting.h
taskstats_kern.h
taskstats.h
tc.h
tcp.h [TCP]: Make snd_cwnd_cnt 32-bit 2007-10-15 12:59:43 -07:00
telephony.h
termios.h
textsearch_fsm.h
textsearch.h
tfrc.h
thread_info.h
threads.h
ticable.h
tick.h
tifm.h
time.h
timer.h
timerfd.h
times.h
timex.h
tiocl.h
tipc_config.h
tipc.h
topology.h sched: enable wake-idle on CONFIG_SCHED_MC=y 2007-10-15 17:00:19 +02:00
toshiba.h
transport_class.h
trdevice.h
tsacct_kern.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h PTY: add kernel parameter to overwrite legacy pty count 2007-10-12 14:51:09 -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
uio_driver.h
uio.h
ultrasound.h
un.h
unistd.h
unwind.h
usb_usual.h
usb.h USB: skip autosuspended devices during system resume 2007-10-12 14:55:34 -07:00
usbdevice_fs.h
user_namespace.h Convert uid hash to hlist 2007-09-19 11:24:18 -07:00
user.h
utime.h
uts.h
utsname.h
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h Convert from class_device to device for drivers/video 2007-10-12 14:51:04 -07:00
videodev2.h V4L/DVB (6108): videodev2.h: add new pixel formats for the cx23415 OSD 2007-10-09 22:07:04 -03:00
videodev.h
videotext.h
vmalloc.h
vmstat.h
vt_buffer.h
vt_kern.h
vt.h
wait.h
wanrouter.h
watchdog.h
wireless.h
workqueue.h
writeback.h Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 2007-10-15 10:47:35 -07:00
x25.h
xattr.h
xfrm.h
xilinxfb.h [POWERPC] XilinxFB: Allow fixed framebuffer base address 2007-10-12 14:05:17 +10:00
yam.h
zconf.h
zlib.h [ZLIB]: Move bnx2 driver gzip unpacker into zlib. 2007-10-10 16:53:57 -07:00
zorro_ids.h
zorro.h
zutil.h