Kentaro Makita
da3bbdd463
fix soft lock up at NFS mount via per-SB LRU-list of unused dentries
...
[Summary]
Split LRU-list of unused dentries to one per superblock to avoid soft
lock up during NFS mounts and remounting of any filesystem.
Previously I posted here:
http://lkml.org/lkml/2008/3/5/590
[Descriptions]
- background
dentry_unused is a list of dentries which are not referenced.
dentry_unused grows up when references on directories or files are
released. This list can be very long if there is huge free memory.
- the problem
When shrink_dcache_sb() is called, it scans all dentry_unused linearly
under spin_lock(), and if dentry->d_sb is differnt from given
superblock, scan next dentry. This scan costs very much if there are
many entries, and very ineffective if there are many superblocks.
IOW, When we need to shrink unused dentries on one dentry, but scans
unused dentries on all superblocks in the system. For example, we scan
500 dentries to unmount a filesystem, but scans 1,000,000 or more unused
dentries on other superblocks.
In our case , At mounting NFS*, shrink_dcache_sb() is called to shrink
unused dentries on NFS, but scans 100,000,000 unused dentries on
superblocks in the system such as local ext3 filesystems. I hear NFS
mounting took 1 min on some system in use.
* : NFS uses virtual filesystem in rpc layer, so NFS is affected by
this problem.
100,000,000 is possible number on large systems.
Per-superblock LRU of unused dentried can reduce the cost in
reasonable manner.
- How to fix
I found this problem is solved by David Chinner's "Per-superblock
unused dentry LRU lists V3"(1), so I rebase it and add some fix to
reclaim with fairness, which is in Andrew Morton's comments(2).
1) http://lkml.org/lkml/2006/5/25/318
2) http://lkml.org/lkml/2006/5/25/320
Split LRU-list of unused dentries to each superblocks. Then, NFS
mounting will check dentries under a superblock instead of all. But
this spliting will break LRU of dentry-unused. So, I've attempted to
make reclaim unused dentrins with fairness by calculate number of
dentries to scan on this sb based on following way
number of dentries to scan on this sb =
count * (number of dentries on this sb / number of dentries in the machine)
- ToDo
- I have to measuring performance number and do stress tests.
- When unmount occurs during prune_dcache(), scanning on same
superblock, It is unable to reach next superblock because it is gone
away. We restart scannig superblock from first one, it causes
unfairness of reclaim unused dentries on first superblock. But I think
this happens very rarely.
- Test Results
Result on 6GB boxes with excessive unused dentries.
Without patch:
$ cat /proc/sys/fs/dentry-state
10181835 10180203 45 0 0 0
# mount -t nfs 10.124.60.70:/work/kernel-src nfs
real 0m1.830s
user 0m0.001s
sys 0m1.653s
With this patch:
$ cat /proc/sys/fs/dentry-state
10236610 10234751 45 0 0 0
# mount -t nfs 10.124.60.70:/work/kernel-src nfs
real 0m0.106s
user 0m0.002s
sys 0m0.032s
[akpm@linux-foundation.org: fix comments]
Signed-off-by: Kentaro Makita <k-makita@np.css.fujitsu.com>
Cc: Neil Brown <neilb@suse.de>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: David Chinner <dgc@sgi.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-24 10:47:15 -07:00
..
amba
byteorder
can
dvb
hdlc
i2c
i2c: New-style EEPROM driver using device IDs
2008-07-14 22:38:35 +02:00
isdn
lockd
lockd: Pass "struct sockaddr *" to new failover-by-IP function
2008-07-15 16:11:29 -04:00
mfd
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
2008-07-23 18:24:08 -07:00
mlx4
IB/mlx4: Add support for blocking multicast loopback packets
2008-07-14 23:48:48 -07:00
mmc
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
2008-07-16 15:17:52 -07:00
mtd
MTD: handle pci_name() being const
2008-07-21 21:55:03 -07:00
netfilter
netfilter: nfnetlink_log: send complete hardware header
2008-07-21 10:11:00 -07:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid
md: Protect access to mddev->disks list using RCU
2008-07-21 17:05:25 +10:00
rtc
spi
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
2008-07-22 13:13:47 -07:00
ssb
ssb: Include dma-mapping.h
2008-07-14 14:52:56 -04:00
sunrpc
Merge branch 'for-2.6.27' of git://linux-nfs.org/~bfields/linux
2008-07-20 21:21:46 -07:00
tc_act
tc_ematch
unaligned
usb
usb_serial: API all change
2008-07-22 13:03:22 -07:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
2008-07-16 17:25:46 -07:00
acpi_pmtmr.h
adb.h
adfs_fs.h
adfs_fs_i.h
adfs_fs_sb.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_tx.h
async_tx: remove depend_tx from async_tx_sync_epilog
2008-07-17 17:59:55 -07:00
ata.h
ata_platform.h
atalk.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-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
auto_fs.h
auto_fs4.h
auxvec.h
execve filename: document and export via auxiliary vector
2008-07-22 09:59:40 -07:00
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blkdev.h
block: Trivial fix for blk_integrity_rq()
2008-07-16 14:51:41 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bootmem.h
mm: unexport __alloc_bootmem_core()
2008-07-24 10:47:14 -07:00
bottom_half.h
bpqether.h
brcmphy.h
bsg.h
buffer_head.h
bug.h
cache.h
can.h
capability.h
capi.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
clk.h
clockchips.h
clocksource.h
cm4000_cs.h
cn_proc.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_psdev.h
coff.h
com20020.h
compat.h
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
configfs.h
configfs: Allow ->make_item() and ->make_group() to return detailed errors.
2008-07-17 15:21:29 -07:00
connector.h
console.h
console_struct.h
consolemap.h
const.h
cpu.h
cpufreq.h
cpuidle.h
cpumask.h
Merge branch 'sched/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2008-07-23 19:36:53 -07:00
cpuset.h
cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2)
2008-07-18 13:22:25 +02:00
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
[SCSI] lib: Add support for the T10 (SCSI) Data Integrity Field CRC
2008-07-12 08:22:32 -05:00
crc7.h
crc16.h
crc32.h
crc32c.h
crypto.h
crypto: hash - Move ahash functions into crypto/hash.h
2008-07-10 20:35:18 +08:00
cryptohash.h
ctype.h
cuda.h
cyclades.h
tty: add more tty_port fields
2008-07-20 17:12:38 -07:00
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dca.h
I/OAT: I/OAT version 3.0 support
2008-07-22 17:30:57 -07:00
dcache.h
Merge branch 'linus' into core/rcu
2008-07-11 10:46:50 +02:00
dccp.h
dccp: Upgrade NDP count from 3 to 6 bytes
2008-07-13 11:51:40 +01:00
dcookies.h
debug_locks.h
debugfs.h
debugfs: Implement debugfs_remove_recursive()
2008-07-21 21:54:59 -07:00
debugobjects.h
delay.h
delayacct.h
device-mapper.h
dm: introduce merge_bvec_fn
2008-07-21 12:00:37 +01:00
device.h
driver core: remove DEVICE_ID_SIZE define
2008-07-21 21:54:53 -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: introduce merge_bvec_fn
2008-07-21 12:00:37 +01:00
dm-kcopyd.h
dm9000.h
dma-attrs.h
powerpc/cell: Add DMA_ATTR_WEAK_ORDERING dma attribute and use in Cell IOMMU code
2008-07-22 10:39:36 +10:00
dma-mapping.h
dmaengine.h
async_tx: make async_tx_test_ack a boolean routine
2008-07-17 17:59:56 -07:00
dmapool.h
dmar.h
dmi.h
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1wm.h
ds1286.h
ds17287rtc.h
dtlk.h
dw_dmac.h
dmaengine: Driver for the Synopsys DesignWare DMA controller
2008-07-08 11:59:42 -07:00
edac.h
edd.h
eeprom_93cx6.h
efi.h
efs_fs_sb.h
efs_vh.h
eisa.h
driver core: remove DEVICE_NAME_SIZE define
2008-07-21 21:54:53 -07:00
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
eventfd.h
eventpoll.h
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
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fd1772.h
fddidevice.h
fdreg.h
fdtable.h
fib_rules.h
file.h
filter.h
firewire-cdev.h
firewire-constants.h
firmware-map.h
sysfs: add /sys/firmware/memmap
2008-07-08 17:55:41 +02:00
firmware.h
firmware: allow firmware files to be built into kernel image
2008-07-10 14:30:13 +01:00
flat.h
font.h
freezer.h
Freezer: Introduce PF_FREEZER_NOSIG
2008-07-16 23:27:03 +02:00
fs.h
fix soft lock up at NFS mount via per-SB LRU-list of unused dentries
2008-07-24 10:47:15 -07:00
fs_enet_pd.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2008-07-22 19:09:51 -07:00
fs_stack.h
fs_struct.h
fs_uart_pd.h
fsl_devices.h
gianfar: Add magic packet and suspend/resume support.
2008-07-16 17:57:47 -05:00
fsnotify.h
ftrace.h
ftrace: add ftrace_kill_atomic
2008-07-11 15:49:21 +02:00
fuse.h
futex.h
gameport.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
gs: use tty_port
2008-07-20 17:12:36 -07:00
genetlink.h
genhd.h
getcpu.h
gfp.h
page allocator: inline some __alloc_pages() wrappers
2008-07-24 10:47:14 -07:00
gfs2_ondisk.h
gigaset_dev.h
gpio.h
gpio_keys.h
gpio_mouse.h
hardirq.h
harrier_defs.h
hash.h
hayesesp.h
esp: use tty_port
2008-07-20 17:12:36 -07:00
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hid-debug.h
hid.h
HID: add n-trig digitizer usage
2008-07-23 15:25:21 +02:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htirq.h
hugetlb.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-pcf: Drop unused struct members
2008-07-14 22:38:31 +02:00
i2c-algo-sgi.h
i2c-dev.h
i2c-gpio.h
i2c-id.h
V4L/DVB (8246): tvaudio: Stop I2C driver ID abuse
2008-07-20 07:18:38 -03:00
i2c-ocores.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c.h
i2c: Add detection capability to new-style drivers
2008-07-14 22:38:36 +02:00
i2o-dev.h
i2o.h
i8k.h
i8042.h
ibmtr.h
icmp.h
icmpv6.h
ide.h
ide: remove unused PC_FLAG_DRQ_INTERRUPT
2008-07-23 19:56:01 +02:00
idr.h
ieee80211.h
mac80211: move QOS control helpers into ieee80211.h
2008-07-08 14:15:59 -04:00
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_ltalk.h
if_macvlan.h
if_packet.h
packet: add PACKET_RESERVE sockopt
2008-07-18 18:05:19 -07:00
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: Fix/rewrite packet filtering logic
2008-07-14 22:18:19 -07:00
if_tunnel.h
if_vlan.h
vlan: Don't store VLAN tag in cb
2008-07-14 22:49:06 -07:00
igmp.h
ihex.h
ihex: request_ihex_firmware() function to load and validate firmware
2008-07-10 14:47:38 +01:00
in.h
in6.h
in_route.h
inet.h
NFS: Add string length argument to nfs_parse_server_address
2008-07-09 12:09:28 -04:00
inet_diag.h
inet_lro.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h
ptrace children revamp
2008-07-16 18:02:33 -07:00
initrd.h
inotify.h
input-polldev.h
input.h
Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next
2008-07-21 00:55:14 -04:00
interrupt.h
Merge branch 'genirq' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2008-07-15 10:39:22 -07:00
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h
ioport.h
PNP: support optional IRQ resources
2008-07-16 23:27:07 +02:00
ioprio.h
ip.h
ip6_tunnel.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipsec.h
ipv6.h
ipv6: __KERNEL__ ifdef struct ipv6_devconf
2008-07-21 13:41:16 -07:00
ipv6_route.h
ipx.h
irda.h
irq.h
irq_cpustat.h
irqflags.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
istallion: use tty_port
2008-07-20 17:12:37 -07:00
ivtv.h
ivtvfb.h
ixjuser.h
jbd.h
jbd2.h
jbd2: Remove data=ordered mode support using jbd buffer heads
2008-07-11 19:27:31 -04:00
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild
kbuild.h
kd.h
kdebug.h
kdev_t.h
kernel.h
Merge branch 'linus' into core/printk
2008-07-10 08:17:14 +02:00
kernel_stat.h
kernelcapi.h
kexec.h
key-type.h
key-ui.h
key.h
keyboard.h
keyctl.h
kfifo.h
kgdb.h
klist.h
kmalloc_sizes.h
kmod.h
remove CONFIG_KMOD from core kernel code
2008-07-22 19:24:31 +10:00
kobj_map.h
kobject.h
kobject: reorder kobject to save space on 64 bit builds
2008-07-21 21:54:56 -07:00
kprobes.h
kref.h
ks0108.h
kthread.h
ktime.h
kvm.h
KVM: Support mixed endian machines
2008-07-20 12:42:32 +03:00
kvm_host.h
KVM: MMU: nuke shadowed pgtable pages and ptes on memslot destruction
2008-07-20 12:42:40 +03:00
kvm_para.h
kvm_types.h
lapb.h
latencytop.h
lcd.h
leds.h
lguest.h
lguest_launcher.h
libata.h
libata/ahci: enclosure management support
2008-07-14 15:59:33 -04:00
libps2.h
license.h
limits.h
linkage.h
Merge branch 'auto-ftrace-next' into tracing/for-linus
2008-07-14 16:11:52 +02:00
linux_logo.h
list.h
llc.h
lm_interface.h
lmb.h
lockdep.h
log2.h
loop.h
lp.h
lzo.h
m48t86.h
magic.h
major.h
maple.h
marker.h
math64.h
matroxfb.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h
memcontrol.h
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memstick.h
meye.h
migrate.h
mii.h
minix_fs.h
miscdevice.h
mm.h
mm: remove double indirection on tlb parameter to free_pgd_range() & Co
2008-07-24 10:47:15 -07:00
mm_inline.h
mm_types.h
mman.h
mm: Allow architectures to define additional protection bits
2008-07-09 16:30:45 +10:00
mmiotrace.h
mmtimer.h
mmzone.h
mnt_namespace.h
mod_devicetable.h
[S390] css: Use css_device_id for bus matching.
2008-07-14 10:02:12 +02:00
module.h
module: turn longs into ints for module sizes
2008-07-22 19:24:27 +10:00
moduleloader.h
moduleparam.h
mount.h
mpage.h
vfs: add hooks for ext4's delayed allocation support
2008-07-11 19:27:31 -04:00
mqueue.h
mroute.h
mroute6.h
msdos_fs.h
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: remove padding from struct socket on 64bit & increase objects/cache
2008-07-08 03:03:01 -07:00
netdevice.h
net: Fix build failure with 'make mandocs'.
2008-07-22 14:09:06 -07:00
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter: cleanup netfilter_ipv6.h userspace header
2008-07-08 02:36:40 -07:00
netlink.h
netpoll.h
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_acl.h
nfs4_mount.h
nfs_fs.h
NFS: use documenting macro constants for initializing ac{reg, dir}{min, max}
2008-07-09 12:09:40 -04:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_iostat.h
NFS: Move fs/nfs/iostat.h to include/linux
2008-07-09 12:09:17 -04:00
nfs_mount.h
nfs_page.h
NFS: Allow redirtying of a completed unstable write.
2008-07-09 12:09:24 -04:00
nfs_xdr.h
NFS: Remove the redundant file_open entry from struct nfs_rpc_ops
2008-07-09 12:09:16 -04:00
nfsacl.h
nfsd_idmap.h
nl80211.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvram.h
of.h
of_device.h
of_gpio.h
of_gpio: Should use new <linux/gpio.h> header
2008-07-22 10:39:30 +10:00
of_i2c.h
of_platform.h
oom.h
oprofile.h
page-flags.h
page-isolation.h
pageblock-flags.h
pagemap.h
pagevec.h
param.h
parport.h
parport_pc.h
parser.h
patchkey.h
path.h
pci-acpi.h
pci-aspm.h
pci.h
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
2008-07-16 17:25:46 -07:00
pci_hotplug.h
pci_ids.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
2008-07-23 12:03:18 -07:00
pci_regs.h
PCI: Simplify PCI device PM code
2008-07-07 16:26:50 -07:00
pcieport_if.h
pda_power.h
percpu.h
percpu_counter.h
percpu_counter: new function percpu_counter_sum_and_set
2008-07-11 19:27:31 -04:00
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phy.h
phy_fixed.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkt_cls.h
net-sched: cls_flow: add perturbation support
2008-07-14 20:36:32 -07:00
pkt_sched.h
net_sched: Add size table for qdiscs
2008-07-20 00:08:47 -07:00
pktcdvd.h
platform_device.h
plist.h
pm.h
pm_legacy.h
pm_qos_params.h
pm_wakeup.h
PCI: include linux/pm_wakeup.h for device_set_wakeup_capable
2008-07-14 14:30:21 -07:00
pmu.h
pnp.h
PNP: convert resource options to single linked list
2008-07-16 23:27:07 +02:00
poison.h
poll.h
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
prctl.h
preempt.h
prefetch.h
prio_heap.h
prio_tree.h
proc_fs.h
netns: make get_proc_net() static
2008-07-22 14:19:19 -07:00
profile.h
proportions.h
ptrace.h
Security: split proc ptrace checking into read vs. attach
2008-07-14 15:01:47 +10:00
pwm.h
pwm_backlight.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcuclassic.h
rculist.h
rcupdate.h
rcupreempt.h
rcupreempt_trace.h
reboot.h
reciprocal_div.h
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.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h
net_sched: Add size table for qdiscs
2008-07-20 00:08:47 -07:00
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
sg: reimplement sg mapping iterator
2008-07-23 14:42:09 +02:00
scc.h
sched.h
add a helper function to test if an object is on the stack
2008-07-24 10:47:14 -07:00
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h
security: remove register_security hook
2008-07-14 15:04:06 +10:00
selection.h
selinux.h
selinux_netlink.h
sem.h
semaphore.h
seq_file.h
seq_file_net.h
proc: consolidate per-net single-release callers
2008-07-18 04:07:44 -07:00
seqlock.h
serial.h
serial167.h
serial_8250.h
serial_core.h
serial: use tty_port
2008-07-20 17:12:35 -07:00
serial_pnx8xxx.h
serial_reg.h
serial_sci.h
serialP.h
serio.h
Input: serio - trivial documentation fix
2008-07-08 10:33:01 -04:00
shm.h
shmem_fs.h
signal.h
signalfd.h
skbuff.h
vlan: Don't store VLAN tag in cb
2008-07-14 22:49:06 -07:00
slab.h
slab_def.h
slob_def.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
[NET] smc91x: prepare SMC_USE_PXA_DMA to be specified in platform data
2008-07-12 21:52:41 +01:00
smc911x.h
smp.h
smp_lock.h
snmp.h
socket.h
net: Use standard structures for generic socket address structures.
2008-07-19 22:35:47 -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
stacktrace.h
stallion.h
stallion: use tty_port
2008-07-20 17:12:37 -07:00
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
move memory_read_from_buffer() from fs.h to string.h
2008-07-24 10:47:13 -07:00
stringify.h
superhyway.h
suspend.h
suspend_ioctls.h
svga.h
swap.h
swapops.h
synclink.h
synclink_gt: add serial bit order control
2008-07-22 13:03:29 -07:00
sys.h
syscalls.h
sysctl.h
sysdev.h
sysdev: Add utility functions for simple int/ulong variable sysdev attributes
2008-07-21 21:55:02 -07:00
sysfs.h
driver core: Suppress sysfs warnings for device_rename().
2008-07-21 21:55:01 -07:00
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
tc.h
tcp.h
tcp: Remove redundant checks when setting eff_sacks
2008-07-19 00:07:02 -07:00
telephony.h
termios.h
textsearch.h
textsearch: convert kmalloc + memset to kzalloc
2008-07-08 02:38:40 -07:00
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
tick.h
tifm.h
time.h
timer.h
timerfd.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
topology.h
toshiba.h
transport_class.h
trdevice.h
tsacct_kern.h
tty.h
tty: Split ldisc code into its own file
2008-07-22 13:03:27 -07:00
tty_driver.h
tty: rework break handling
2008-07-22 13:03:28 -07:00
tty_flip.h
tty_ldisc.h
tty: Ldisc revamp
2008-07-20 17:12:34 -07:00
types.h
uaccess.h
udf_fs_i.h
udp.h
uinput.h
uio.h
uio_driver.h
UIO: minor style and comment fixes
2008-07-21 21:54:55 -07:00
ultrasound.h
un.h
unistd.h
unwind.h
usb.h
USB: Force unbinding of drivers lacking reset_resume or other methods
2008-07-21 15:16:40 -07:00
usb_usual.h
usbdevice_fs.h
USB: remove CVS keywords
2008-07-21 15:15:55 -07:00
user.h
user_namespace.h
utime.h
uts.h
utsname.h
vermagic.h
veth.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev.h
videodev2.h
V4L/DVB (8197): gspca: pac207 frames no more decoded in the subdriver.
2008-07-20 07:17:02 -03:00
videotext.h
virtio.h
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_net.h
virtio_pci.h
virtio_ring.h
virtio_rng.h
vmalloc.h
vmstat.h
mm/vmstat.c: proper externs
2008-07-24 10:47:14 -07:00
vt.h
vt_buffer.h
vt_kern.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h
wireless.h
wm97xx.h
workqueue.h
writeback.h
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
2008-07-15 08:36:38 -07:00
x25.h
xattr.h
xfrm.h
xfrm: Add a XFRM_STATE_AF_UNSPEC flag to xfrm_usersa_info
2008-07-10 16:55:37 -07:00
xilinxfb.h
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h