android_kernel_samsung_msm8976/include/linux
Hugh Dickins 9fab5619bd shmem: writepage directly to swap
Synopsis: if shmem_writepage calls swap_writepage directly, most shmem
swap loads benefit, and a catastrophic interaction between SLUB and some
flash storage is avoided.

shmem_writepage() has always been peculiar in making no attempt to write:
it has just transferred a shmem page from file cache to swap cache, then
let that page make its way around the LRU again before being written and
freed.

The idea was that people use tmpfs because they want those pages to stay
in RAM; so although we give it an overflow to swap, we should resist
writing too soon, giving those pages a second chance before they can be
reclaimed.

That was always questionable, and I've toyed with this patch for years;
but never had a clear justification to depart from the original design.

It became more questionable in 2.6.28, when the split LRU patches classed
shmem and tmpfs pages as SwapBacked rather than as file_cache: that in
itself gives them more resistance to reclaim than normal file pages.  I
prepared this patch for 2.6.29, but the merge window arrived before I'd
completed gathering statistics to justify sending it in.

Then while comparing SLQB against SLUB, running SLUB on a laptop I'd
habitually used with SLAB, I found SLUB to run my tmpfs kbuild swapping
tests five times slower than SLAB or SLQB - other machines slower too, but
nowhere near so bad.  Simpler "cp -a" swapping tests showed the same.

slub_max_order=0 brings sanity to all, but heavy swapping is too far from
normal to justify such a tuning.  The crucial factor on that laptop turns
out to be that I'm using an SD card for swap.  What happens is this:

By default, SLUB uses order-2 pages for shmem_inode_cache (and many other
fs inodes), so creating tmpfs files under memory pressure brings lumpy
reclaim into play.  One subpage of the order is chosen from the bottom of
the LRU as usual, then the other three picked out from their random
positions on the LRUs.

In a tmpfs load, many of these pages will be ones which already passed
through shmem_writepage, so already have swap allocated.  And though their
offsets on swap were probably allocated sequentially, now that the pages
are picked off at random, their swap offsets are scattered.

But the flash storage on the SD card is very sensitive to having its
writes merged: once swap is written at scattered offsets, performance
falls apart.  Rotating disk seeks increase too, but less disastrously.

So: stop giving shmem/tmpfs pages a second pass around the LRU, write them
out to swap as soon as their swap has been allocated.

It's surely possible to devise an artificial load which runs faster the
old way, one whose sizing is such that the tmpfs pages on their second
pass are the ones that are wanted again, and other pages not.

But I've not yet found such a load: on all machines, under the loads I've
tried, immediate swap_writepage speeds up shmem swapping: especially when
using the SLUB allocator (and more effectively than slub_max_order=0), but
also with the others; and it also reduces the variance between runs.  How
much faster varies widely: a factor of five is rare, 5% is common.

One load which might have suffered: imagine a swapping shmem load in a
limited mem_cgroup on a machine with plenty of memory.  Before 2.6.29 the
swapcache was not charged, and such a load would have run quickest with
the shmem swapcache never written to swap.  But now swapcache is charged,
so even this load benefits from shmem_writepage directly to swap.

Apologies for the #ifndef CONFIG_SWAP swap_writepage() stub in swap.h:
it's silly because that will never get called; but refactoring shmem.c
sensibly according to CONFIG_SWAP will be a separate task.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-01 08:59:15 -07:00
..
amba
byteorder
can
decompress
dvb make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
hdlc
i2c
isdn
lockd NLM: Shrink the IPv4-only version of nlm_cmp_addr() 2009-03-10 20:33:19 -04:00
mfd ASoC: Add initial driver for the WM8400 CODEC 2009-03-11 13:49:46 +00:00
mlx4 mlx4_core: Add link type autosensing 2009-03-18 19:45:11 -07:00
mmc
mtd
netfilter Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2009-03-26 22:45:23 -07:00
netfilter_arp
netfilter_bridge
netfilter_ipv4 make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
netfilter_ipv6 Merge branch 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-03-26 16:11:41 -07:00
nfsd
raid
regulator
rtc
spi Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-02-24 03:50:29 -08:00
ssb ssb: Add SPROM fallback support 2009-03-05 14:39:32 -05:00
sunrpc
tc_act
tc_ematch
unaligned
usb Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-03-26 15:23:24 -07:00
uwb
wimax wimax: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:23 -07:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h [IA64] fix __apci_unmap_table 2009-02-16 00:43:24 +01: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 make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
aio.h
aio_abi.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
arcdevice.h
arcfb.h
async.h async: Rename _special -> _domain for clarity. 2009-02-08 09:56:11 -08:00
async_tx.h
ata.h Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2009-03-26 11:20:23 -07:00
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmioc.h
atmlec.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
atmmpc.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h integrity: audit update 2009-02-12 09:40:14 +11:00
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h
bio.h block: add private bio_set for bio integrity allocations 2009-03-24 12:35:17 +01:00
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blkdev.h block: reduce stack footprint of blk_recount_segments() 2009-02-26 10:45:48 +01:00
blkpg.h
blktrace_api.h block: fix bad definition of BIO_RW_SYNC 2009-02-18 10:32:00 +01:00
blockgroup_lock.h
bootmem.h mm: enable hashdist by default on 64bit NUMA 2009-04-01 08:59:14 -07:00
bottom_half.h
bpqether.h
brcmphy.h
bsg.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
buffer_head.h mm: page_mkwrite change prototype to match fault 2009-04-01 08:59:14 -07:00
bug.h
c2port.h
cache.h
can.h
capability.h nfsd: nfsd should drop CAP_MKNOD for non-root 2009-03-17 14:55:55 -04:00
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
cgroup.h cgroups: fix lockdep subclasses overflow 2009-02-11 14:25:36 -08:00
cgroup_subsys.h
cgroupstats.h
chio.h
circ_buf.h
clk.h clkdev: add possibility to get a clock based on the device name 2009-03-27 14:51:13 +01:00
clockchips.h
clocksource.h clocksource: allow usage independent of timekeeping.c 2009-02-15 22:43:31 -08:00
cm4000_cs.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
cn_proc.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
cnt32_to_63.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_psdev.h headers_check fix cleanup: linux/coda_psdev.h 2009-02-03 19:32:24 +05:30
coff.h
com20020.h
compat.h generic compat_sys_ustat 2009-03-27 14:43:57 -04:00
compiler-gcc.h [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
compiler-gcc3.h
compiler-gcc4.h compiler-gcc4: conditionalize #error on __KERNEL__ 2009-03-26 18:14:23 +01:00
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
configfs.h
connector.h connector: create connector workqueue only while needed once 2009-02-02 23:22:04 -08:00
console.h vcs: hook sysfs devices into object lifetime instead of "binding" 2009-03-24 16:38:26 -07:00
console_struct.h
consolemap.h
const.h
cpu.h
cpufreq.h Revert "[CPUFREQ] Disable sysfs ui for p4-clockmod." 2009-03-09 15:07:33 -04:00
cpuidle.h
cpumask.h
cpuset.h cpumask: use new cpumask_ functions in core code. 2009-03-30 22:05:16 +10:30
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc16.h
crc32.h
crc32c.h
cred.h
crypto.h crypto: compress - Add pcomp interface 2009-03-04 15:05:33 +08:00
cryptohash.h
ctype.h
cuda.h
cyclades.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dca.h dca: add missing copyright/license headers 2009-03-21 13:31:23 -07:00
dcache.h fs: make struct dentry->d_op const 2009-03-27 14:43:59 -04:00
dcbnl.h net headers: cleanup dcbnl.h 2009-03-01 00:19:35 -08:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
device-mapper.h
device.h dynamic debug: combine dprintk and dynamic printk 2009-03-24 16:38:26 -07:00
device_cgroup.h
devpts_fs.h
dio.h
dirent.h
display.h
dlm.h
dlm_device.h
dlm_netlink.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
dlm_plock.h
dlmconstants.h
dm-dirty-log.h
dm-io.h
dm-ioctl.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-attrs.h
dma-debug.h dma-debug: fix dma_debug_add_bus() definition for !CONFIG_DMA_API_DEBUG 2009-03-18 11:53:48 +01:00
dma-mapping.h
dma_remapping.h
dmaengine.h Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2009-03-08 10:23:05 -07:00
dmapool.h
dmar.h x86, x2apic: cleanup ifdef CONFIG_INTR_REMAP in io_apic code 2009-03-17 15:45:07 -07:00
dmi.h dmi: Let dmi_walk() users pass private data 2009-03-30 21:46:44 +02:00
dn.h
dnotify.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1wm.h
ds1286.h
ds17287rtc.h
dtlk.h
dw_dmac.h
dynamic_debug.h Dynamic debug: fix pr_fmt() build error 2009-03-24 16:38:27 -07:00
edac.h
edd.h
eeprom_93cx6.h
efi.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h elf: add ELF_CORE_COPY_KERNEL_REGS() 2009-02-10 00:41:26 +01:00
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h net: new user space API for time stamping of incoming and outgoing packets 2009-02-15 22:43:33 -08:00
etherdevice.h gro: Optimise Ethernet header comparison 2009-02-08 20:22:18 -08:00
ethtool.h ethtool: Add RX pkt classification interface 2009-02-20 00:58:13 -08:00
eventfd.h
eventpoll.h Rename struct file->f_ep_lock 2009-03-16 08:32:27 -06: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
fault-inject.h
fb.h fbmem: don't call copy_from/to_user() with mutex held 2009-02-05 12:56:46 -08:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdreg.h
fdtable.h
fib_rules.h
fiemap.h
file.h
filter.h
firewire-cdev.h firewire: cdev: add closure to async stream ioctl 2009-03-24 20:56:50 +01:00
firewire-constants.h
firmware-map.h Bernhard has moved 2009-02-18 15:37:56 -08:00
firmware.h
flat.h
font.h
freezer.h
fs.h Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6 2009-03-30 11:31:47 -07:00
fs_enet_pd.h
fs_stack.h
fs_struct.h Annotate struct fs_struct's usage count restriction 2009-03-28 17:30:00 -07:00
fs_uart_pd.h
fsl_devices.h
fsnotify.h
ftrace.h tracing/function-graph-tracer: make arch generic push pop functions 2009-02-18 13:43:04 -05:00
ftrace_irq.h
fuse.h
futex.h
gameport.h
gen_stats.h net: reorder struct Qdisc for better SMP performance 2009-03-20 01:33:32 -07:00
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h block: genhd.h cleanup patch 2009-03-24 12:35:17 +01:00
getcpu.h
gfp.h
gfs2_ondisk.h
gigaset_dev.h
gpio.h
gpio_keys.h
gpio_mouse.h
hardirq.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h drivers/net/hamradio: fix sparse warnings: fix signedness 2009-02-17 17:37:40 -08:00
hdpu_features.h
hdreg.h remove stale comment from <linux/hdreg.h> 2009-03-05 16:10:59 +01:00
hid-debug.h
hid.h
hiddev.h
hidraw.h
highmem.h mm: introduce debug_kmap_atomic 2009-04-01 08:59:14 -07:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htirq.h
hugetlb.h hugetlbfs: fix build failure with !CONFIG_HUGETLBFS 2009-02-10 14:56:59 -08:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h i2c-algo-pca: Add PCA9665 support 2009-03-28 21:34:44 +01:00
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-dev.h i2c-dev: Clarify the unit of ioctl I2C_TIMEOUT 2009-02-24 19:19:49 +01:00
i2c-gpio.h
i2c-id.h V4L/DVB (11096): V4L2 Driver for the Hauppauge HD PVR usb capture device 2009-03-30 12:43:28 -03:00
i2c-ocores.h
i2c-pca-platform.h i2c-algo-pca: Rework waiting for a free bus 2009-03-28 21:34:45 +01:00
i2c-pnx.h
i2c-pxa.h
i2c.h i2c-dev: Clarify the unit of ioctl I2C_TIMEOUT 2009-02-24 19:19:49 +01:00
i2o-dev.h
i2o.h
i8k.h
i7300_idle.h
i8042.h
ibmtr.h
icmp.h
icmpv6.h
ide.h ide: keep track of number of bytes instead of sectors in struct ide_cmd 2009-03-27 12:46:47 +01:00
idr.h
ieee80211.h nl80211: Add MLME primitives to support external SME 2009-03-27 20:13:02 -04:00
if.h
if_addr.h
if_addrlabel.h
if_arcnet.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
if_fc.h
if_fddi.h
if_frad.h wan: convert sdla driver to net_device_ops 2009-03-27 00:46:44 -07:00
if_hippi.h
if_infiniband.h
if_link.h
if_ltalk.h
if_macvlan.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
if_pppox.h net: replace __constant_{endian} uses in net headers 2009-02-14 22:58:35 -08:00
if_slip.h
if_strip.h
if_tr.h
if_tun.h tun: Limit amount of queued packets per device 2009-02-05 21:25:32 -08:00
if_tunnel.h net: replace __constant_{endian} uses in net headers 2009-02-14 22:58:35 -08:00
if_vlan.h vlan: Update skb->mac_header in __vlan_put_tag(). 2009-02-18 23:31:11 -08:00
igmp.h
ihex.h
ima.h integrity: shmem zero fix 2009-02-11 15:27:15 +11:00
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h Merge branch 'sched/urgent'; commit 'v2.6.29-rc5' into sched/core 2009-02-15 21:15:16 +01:00
initrd.h
inotify.h
input-polldev.h
input.h Merge branch 'topic/jack' into for-linus 2009-03-24 00:35:43 +01:00
intel-iommu.h Merge branch 'iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-03-30 13:41:00 -07:00
interrupt.h PM: Introduce functions for suspending and resuming device interrupts 2009-03-30 21:46:54 +02:00
io-mapping.h fix warning in io_mapping_map_wc() 2009-03-02 09:43:32 +01:00
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h
iommu.h
ioport.h
ioprio.h
iova.h
ip.h
ip6_tunnel.h
ip_vs.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
ipc.h
ipc_namespace.h
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
ipsec.h
ipv6.h
ipv6_route.h
ipx.h
irda.h
irq.h PM: Introduce functions for suspending and resuming device interrupts 2009-03-30 21:46:54 +02:00
irq_cpustat.h
irqflags.h
irqnr.h Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
irqreturn.h genirq: make irqreturn_t an enum 2009-03-13 14:32:29 +01:00
isa.h
isapnp.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h V4L/DVB (11042): v4l2-api: Add definitions for V4L2_MPEG_STREAM_VBI_FMT_IVTV payloads 2009-03-30 12:43:22 -03:00
ivtvfb.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
ixjuser.h
jbd.h
jbd2.h jbd2: Avoid possible NULL dereference in jbd2_journal_begin_ordered_truncate() 2009-02-10 11:15:34 -05:00
jffs2.h make MTD headers use strict integer types 2009-03-26 18:14:17 +01:00
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild V4L/DVB (10870a): remove all references for video_decoder.h 2009-03-30 12:43:15 -03:00
kbuild.h
kd.h
kdebug.h
kdev_t.h
kernel.h kernel: remove HIPQUAD() 2009-03-28 23:55:59 -07:00
kernel_stat.h
kernelcapi.h
kexec.h
key-type.h
key.h
keyboard.h
keyctl.h
kfifo.h
kgdb.h
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject.h Driver core: implement uevent suppress in kobject 2009-03-24 16:38:26 -07:00
kprobes.h x86, mm, kprobes: fault.c, simplify notify_page_fault() 2009-02-21 00:09:42 +01:00
kref.h
ks0108.h
kthread.h
ktime.h
kvm.h KVM: Correct deassign device ioctl to IOW 2009-03-24 11:03:15 +02:00
kvm_host.h KVM: Report IRQ injection status to userspace. 2009-03-24 11:03:11 +02:00
kvm_para.h
kvm_types.h KVM: Move struct kvm_pio_request into x86 kvm_host.h 2009-03-24 11:02:55 +02:00
lapb.h
latencytop.h sched, latencytop: incorporate review feedback from Andrew Morton 2009-02-11 10:18:04 +01:00
lcd.h
leds-pca9532.h
leds.h
lguest.h
lguest_launcher.h
libata.h [libata] Improve timeout handling 2009-03-24 22:52:39 -04:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
list.h
list_nulls.h
llc.h
lmb.h
lockdep.h lockdep: move state bit definitions around 2009-02-14 23:27:59 +01:00
log2.h
loop.h
lp.h
lzo.h
m48t86.h
magic.h
major.h [SCSI] major.h: char-major number for OSD device driver 2009-03-12 12:58:05 -05:00
map_to_7segment.h
maple.h sh: maple: Support block reads and writes. 2009-02-27 16:07:32 +09:00
marker.h
math64.h
matroxfb.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h
mdio-gpio.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 [SCSI] mpt2sas: add MPT2SAS_MINOR(221) to miscdevice.h 2009-03-13 15:57:40 -05:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h mm: page_mkwrite change prototype to match fault 2009-04-01 08:59:14 -07:00
mm_inline.h
mm_types.h generic debug pagealloc 2009-04-01 08:59:13 -07:00
mman.h
mmdebug.h
mmiotrace.h x86, mm: fault.c, simplify kmmio_fault() 2009-02-21 00:09:42 +01:00
mmtimer.h
mmu_notifier.h
mmzone.h mm: introduce for_each_populated_zone() macro 2009-04-01 08:59:11 -07:00
mnt_namespace.h
mod_devicetable.h platform: introduce module id table for platform devices 2009-03-24 16:38:24 -07:00
module.h module: remove over-zealous check in __module_get() 2009-02-07 08:33:01 -08:00
moduleloader.h
moduleparam.h
mount.h Add a strictatime mount option 2009-03-26 10:56:35 -07:00
mpage.h
mqueue.h
mroute.h
mroute6.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
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 constify dentry_operations: misc filesystems 2009-03-27 14:44:00 -04:00
ncp_fs_i.h
ncp_fs_sb.h
ncp_mount.h
ncp_no.h net: replace __constant_{endian} uses in net headers 2009-02-14 22:58:35 -08:00
neighbour.h neigh: Allow for user space users of the neighbour table 2009-03-04 00:03:08 -08:00
net.h net: reorder fields of struct socket 2009-03-15 19:59:13 -07:00
net_dropmon.h Network Drop Monitor: Adding drop monitor implementation & Netlink protocol 2009-03-13 12:09:29 -07:00
net_tstamp.h net: new user space API for time stamping of incoming and outgoing packets 2009-02-15 22:43:33 -08:00
netdevice.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
netfilter.h
netfilter_arp.h
netfilter_bridge.h net: replace __constant_{endian} uses in net headers 2009-02-14 22:58:35 -08:00
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h netlink: add NETLINK_NO_ENOBUFS socket flag 2009-03-24 16:37:55 -07:00
netpoll.h netpoll: store local and remote ip in net-endian 2009-03-28 23:55:58 -07:00
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_acl.h
nfs4_mount.h
nfs_fs.h constify dentry_operations: NFS 2009-03-27 14:43:59 -04:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_iostat.h
nfs_mount.h
nfs_page.h
nfs_xdr.h constify dentry_operations: NFS 2009-03-27 14:43:59 -04:00
nfsacl.h NFSv3: Fix posix ACL code 2009-03-10 20:33:18 -04:00
nfsd_idmap.h
nl80211.h nl80211: Remove NL80211_CMD_SET_MGMT_EXTRA_IE 2009-03-27 20:13:04 -04:00
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h headers_check fix cleanup: linux/nubus.h 2009-02-03 19:33:51 +05:30
numa.h
nvram.h
nwpserial.h
of.h
of_device.h
of_gpio.h
of_i2c.h
of_platform.h
of_spi.h
oom.h
oprofile.h
oxu210hp.h
page-debug-flags.h generic debug pagealloc 2009-04-01 08:59:13 -07:00
page-flags.h nommu: there is no mlock() for NOMMU, so don't provide the bits 2009-04-01 08:59:14 -07:00
page-isolation.h
page_cgroup.h
pageblock-flags.h
pagemap.h
pagevec.h mm: remove pagevec_swap_free() 2009-04-01 08:59:13 -07:00
param.h
parport.h
parport_pc.h
parser.h
patchkey.h
path.h
pci-acpi.h
pci-aspm.h
pci.h PCI PM: Introduce __pci_[start|complete]_power_transition() (rev. 2) 2009-03-30 21:46:56 +02:00
pci_hotplug.h
pci_ids.h Merge commit 'origin/master' into next 2009-03-30 14:04:53 +11:00
pci_regs.h
pcieport_if.h
pda_power.h
percpu.h percpu: generalize embedding first chunk setup helper 2009-03-10 16:27:48 +09:00
percpu_counter.h
personality.h
pfkeyv2.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
pfn.h
pg.h
phantom.h
phonedev.h
phonet.h
phy.h phylib: convert state_queue work to delayed_work 2009-03-13 15:41:19 -07:00
phy_fixed.h
pid.h
pid_namespace.h
pim.h net: replace __constant_{endian} uses in net headers 2009-02-14 22:58:35 -08:00
pipe_fs_i.h
pkt_cls.h
pkt_sched.h pkt_sched: type should be __u32 in header 2009-02-10 17:18:17 -08:00
pktcdvd.h
platform_device.h driver core: move platform_data into platform_device 2009-03-24 16:38:26 -07:00
plist.h
pm.h Driver core: Fix device_move() vs. dpm list ordering, v2 2009-03-24 16:38:26 -07:00
pm_qos_params.h
pm_wakeup.h
pmu.h
pnp.h
poison.h generic debug pagealloc 2009-04-01 08:59:13 -07:00
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: ppp_mp_explode() redesign 2009-03-13 16:09:12 -07:00
ppp_defs.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
prctl.h
preempt.h
prefetch.h
prio_heap.h
prio_tree.h
proc_fs.h proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
profile.h
proportions.h
ptrace.h
pwm.h
pwm_backlight.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h quota: Remove NODQUOT macro 2009-03-26 02:18:35 +01:00
quotaops.h quota: Remove uppercase aliases for quota functions. 2009-03-26 02:18:37 +01:00
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
random.h
ratelimit.h
raw.h
rbtree.h
rcuclassic.h rcu: Teach RCU that idle task is not quiscent state at boot 2009-02-26 04:08:14 +01:00
rculist.h
rculist_nulls.h
rcupdate.h rcu: Teach RCU that idle task is not quiscent state at boot 2009-02-26 04:08:14 +01:00
rcupreempt.h rcu: Teach RCU that idle task is not quiscent state at boot 2009-02-26 04:08:14 +01:00
rcupreempt_trace.h
rcutree.h rcu: Teach RCU that idle task is not quiscent state at boot 2009-02-26 04:08:14 +01:00
rds.h RDS: Add userspace header 2009-02-26 23:42:11 -08:00
reboot.h
reciprocal_div.h
regset.h
reiserfs_acl.h reiserfs: fix build breakage 2009-03-30 14:28:58 -07:00
reiserfs_fs.h Merge branch 'reiserfs-updates' from Jeff Mahoney 2009-03-30 12:33:01 -07:00
reiserfs_fs_i.h reiserfs: make per-inode xattr locking more fine grained 2009-03-30 12:16:38 -07:00
reiserfs_fs_sb.h reiserfs: strip trailing whitespace 2009-03-30 12:16:39 -07:00
reiserfs_xattr.h reiserfs: add atomic addition of selinux attributes during inode creation 2009-03-30 12:16:39 -07:00
relay.h
res_counter.h
resource.h
resume-trace.h
rfkill.h
ring_buffer.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 rtnetlink: add new value for DHCP added routes 2009-03-19 23:49:41 -07:00
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h get_mm_hiwater_xxx: trivial, s/define/inline/ 2009-04-01 08:59:11 -07:00
screen_info.h
sctp.h sctp: Clean up sctp checksumming code 2009-02-16 00:03:10 -08:00
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h lsm: Remove the socket_post_accept() hook 2009-03-28 15:01:37 +11:00
selection.h
selinux.h
selinux_netlink.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
sem.h
semaphore.h
seq_file.h cpumask: fix seq_bitmap_*() functions. 2009-03-30 22:05:11 +10:30
seq_file_net.h
seqlock.h
serial.h
serial167.h
serial_8250.h
serial_core.h 8250: fix boot hang with serial console when using with Serial Over Lan port 2009-02-20 17:57:50 -08:00
serial_pnx8xxx.h
serial_reg.h
serial_sci.h
serialP.h
serio.h Input: serio - fix protocol number for TouchIT213 2009-03-07 18:41:38 -08:00
sh_cmt.h
sh_intc.h sh: multiple vectors per irq - base 2009-02-27 16:53:50 +09:00
shm.h
shmem_fs.h
signal.h
signalfd.h
skbuff.h Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-03-29 01:40:34 -07:00
slab.h slab: introduce kzfree() 2009-02-20 17:57:48 -08:00
slab_def.h
slob_def.h
slub_def.h Merge branches 'topic/slob/cleanups', 'topic/slob/fixes', 'topic/slub/core', 'topic/slub/cleanups' and 'topic/slub/perf' into for-linus 2009-03-24 10:25:21 +02:00
sm501-regs.h
sm501.h
smb.h
smb_fs.h
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smc91x.h
smc911x.h
smp.h smp, generic: introduce arch_disable_smp_support(), build fix 2009-02-05 22:27:57 +01:00
smp_lock.h
smsc911x.h
snmp.h
socket.h Merge branch 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-03-26 16:11:41 -07:00
sockios.h net: new user space API for time stamping of incoming and outgoing packets 2009-02-15 22:43:33 -08:00
som.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h sound: Remove OSSlib stuff from linux/soundcard.h 2009-02-10 00:02:54 +01:00
spinlock.h x86: spinlocks: define dummy __raw_spin_is_contended 2009-02-09 08:15:39 -08:00
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
stop_machine.h
string.h memdup_user(): introduce 2009-04-01 08:59:13 -07:00
string_helpers.h
stringify.h
superhyway.h
suspend.h
suspend_ioctls.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
svga.h
swab.h
swap.h shmem: writepage directly to swap 2009-04-01 08:59:15 -07:00
swapops.h
swiotlb.h
synclink.h
sys.h
syscalls.h syscall define: fix uml compile bug 2009-02-11 14:25:36 -08:00
sysctl.h
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
tc.h
tcp.h tcp: cache result of earlier divides when mss-aligning things 2009-03-15 20:09:55 -07:00
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
tick.h
tifm.h
time.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
timecompare.h timecompare: generic infrastructure to map between two time bases 2009-02-15 22:43:32 -08:00
timer.h Merge branch 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-03-30 17:17:35 -07:00
timerfd.h timerfd: add flags check 2009-02-18 15:37:53 -08:00
timeriomem-rng.h hwrng: timeriomem - New driver 2009-02-22 12:03:56 +08:00
times.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
timex.h time: ntp: make 64-bit constants more robust 2009-02-25 18:38:15 +01:00
tiocl.h
tipc.h
tipc_config.h
topology.h
toshiba.h
tpm.h
tracehook.h
tracepoint.h
transport_class.h
trdevice.h
tsacct_kern.h
tty.h
tty_driver.h proc tty: remove struct tty_operations::read_proc 2009-04-01 08:59:10 -07:00
tty_flip.h
tty_ldisc.h
typecheck.h
types.h remove __KERNEL_STRICT_NAMES 2009-03-26 18:14:21 +01:00
uaccess.h x86, mm: dont use non-temporal stores in pagecache accesses 2009-03-02 11:06:49 +01:00
ucb1400.h
udf_fs_i.h
udp.h
uinput.h
uio.h
uio_driver.h UIO: Add name attributes for mappings and port regions 2009-03-24 16:38:24 -07:00
ultrasound.h
un.h
unistd.h
usb.h USB: make actual_length in struct urb field u32 2009-03-24 16:20:36 -07:00
usb_usual.h usb-storage: prepare for subdriver separation 2009-03-24 16:20:34 -07:00
usbdevice_fs.h
user.h
user_namespace.h Fix recursive lock in free_uid()/free_user_ns() 2009-02-27 16:26:21 -08:00
utime.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
uts.h
utsname.h
uwb.h
vermagic.h
veth.h
vfs.h
via.h
video_output.h
videodev.h V4L/DVB (10907): avoid loading the entire videodev.h header on V4L2 drivers 2009-03-30 12:43:15 -03:00
videodev2.h V4L/DVB (11213): gspca - sq905c: New subdriver. 2009-03-30 12:43:40 -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_net: Add support for VLAN filtering in the hypervisor 2009-02-04 16:35:13 -08:00
virtio_pci.h
virtio_ring.h
virtio_rng.h
vmalloc.h Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu 2009-02-24 21:52:45 +01:00
vmstat.h
vt.h
vt_buffer.h
vt_kern.h
w1-gpio.h
wait.h wait: prevent exclusive waiter starvation 2009-02-05 12:56:48 -08:00
wanrouter.h
watchdog.h
wimax.h
wireless.h
wlp.h
wm97xx.h
wm97xx_batt.h
workqueue.h
writeback.h mm: fix proc_dointvec_userhz_jiffies "breakage" 2009-04-01 08:59:13 -07:00
x25.h
xattr.h
xfrm.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
xilinxfb.h
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h