linux_dsm_epyc7002/include/linux
Nick Piggin 0ed361dec3 mm: fix PageUptodate data race
After running SetPageUptodate, preceeding stores to the page contents to
actually bring it uptodate may not be ordered with the store to set the
page uptodate.

Therefore, another CPU which checks PageUptodate is true, then reads the
page contents can get stale data.

Fix this by having an smp_wmb before SetPageUptodate, and smp_rmb after
PageUptodate.

Many places that test PageUptodate, do so with the page locked, and this
would be enough to ensure memory ordering in those places if
SetPageUptodate were only called while the page is locked.  Unfortunately
that is not always the case for some filesystems, but it could be an idea
for the future.

Also bring the handling of anonymous page uptodateness in line with that of
file backed page management, by marking anon pages as uptodate when they
_are_ uptodate, rather than when our implementation requires that they be
marked as such.  Doing allows us to get rid of the smp_wmb's in the page
copying functions, which were especially added for anonymous pages for an
analogous memory ordering problem.  Both file and anonymous pages are
handled with the same barriers.

FAQ:
Q. Why not do this in flush_dcache_page?
A. Firstly, flush_dcache_page handles only one side (the smb side) of the
ordering protocol; we'd still need smp_rmb somewhere. Secondly, hiding away
memory barriers in a completely unrelated function is nasty; at least in the
PageUptodate macros, they are located together with (half) the operations
involved in the ordering. Thirdly, the smp_wmb is only required when first
bringing the page uptodate, wheras flush_dcache_page should be called each time
it is written to through the kernel mapping. It is logically the wrong place to
put it.

Q. Why does this increase my text size / reduce my performance / etc.
A. Because it is adding the necessary instructions to eliminate the data-race.

Q. Can it be improved?
A. Yes, eg. if you were to create a rule that all SetPageUptodate operations
run under the page lock, we could avoid the smp_rmb places where PageUptodate
is queried under the page lock. Requires audit of all filesystems and at least
some would need reworking. That's great you're interested, I'm eagerly awaiting
your patches.

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>
2008-02-05 09:44:19 -08:00
..
amba
byteorder
can [CAN]: Add missing Kbuild entries 2008-01-28 14:54:13 -08:00
dvb
hdlc
i2c gpiolib: pca9539 i2c gpio expander support 2008-02-05 09:44:13 -08:00
isdn
lockd NLM: Fix sign of length of NLM variable length strings 2008-02-01 16:42:02 -05:00
mlx4
mmc
mtd
netfilter [NETFILTER]: nf_{conntrack,nat}_pptp: annotate PPtP helper with const 2008-01-31 19:28:09 -08:00
netfilter_arp [NETFILTER]: arp_tables: netns preparation 2008-01-31 19:27:40 -08:00
netfilter_bridge
netfilter_ipv4 [NETFILTER]: x_tables: return new table from {arp,ip,ip6}t_register_table() 2008-01-31 19:27:36 -08:00
netfilter_ipv6 [NETFILTER]: ip6_tables: netns preparation 2008-01-31 19:27:39 -08:00
nfsd nfsd: Allow AIX client to read dir containing mountpoints 2008-02-01 16:42:06 -05:00
raid
rtc
spi mcp23s08 spi gpio expander support 2008-02-05 09:44:13 -08:00
ssb ssb: Add boardflags_hi field to the sprom data structure 2008-01-28 15:09:52 -08:00
sunrpc SUNRPC: spin svc_rqst initialization to its own function 2008-02-01 16:42:15 -05:00
tc_act
tc_ematch
usb USB: fix codingstyle issues in include/linux/usb/ 2008-02-01 14:35:07 -08:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi_pmtmr.h x86: move pmtmr related declarations 2008-01-30 13:30:18 +01:00
acpi.h
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
aio.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm_bios.h
apm-emulation.h
arcdevice.h
arcfb.h
async_tx.h
ata.h
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 [ATM]: [br2864] whitespace cleanup 2008-01-28 15:00:14 -08:00
atmclip.h
atmdev.h [ATM]: Convert struct class_device to struct device 2008-01-28 15:00:12 -08:00
atmel_pdc.h
atmel_serial.h [ARM] 4660/3: at91: allow selecting UART for early kernel messages 2008-02-04 13:16:39 +00:00
atmel-ssc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h [AUDIT] break large execve argument logging into smaller messages 2008-02-01 14:23:55 -05: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
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blkdev.h block: kill swap_io_context() 2008-02-01 11:34:49 +01:00
blkpg.h
blktrace_api.h Fix blktrace compile warning 2008-01-29 21:55:15 +01:00
blockgroup_lock.h
bootmem.h
bottom_half.h
bpqether.h
bsg.h
buffer_head.h Add buffer head related helper functions 2008-01-28 23:58:26 -05:00
bug.h
cache.h
calc64.h
can.h [CAN]: Add PF_CAN core module 2008-01-28 14:54:10 -08:00
capability.h
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h ide-cd: move lba_to_msf() and msf_to_lba() to <linux/cdrom.h> 2008-02-01 23:09:24 +01:00
cfag12864b.h
cgroup_subsys.h
cgroup.h
cgroupstats.h
chio.h include/linux/: Spelling fixes 2008-02-03 17:45:46 +02:00
circ_buf.h
clk.h
clockchips.h
clocksource.h clocksource: add unregister function to disable unusable clocksources 2008-01-30 13:30:02 +01:00
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 timerfd: new timerfd API 2008-02-05 09:44:07 -08:00
compiler-gcc3.h remove __attribute_used__ 2008-01-28 23:21:18 +01:00
compiler-gcc4.h remove __attribute_used__ 2008-01-28 23:21:18 +01:00
compiler-gcc.h
compiler-intel.h
compiler.h remove __attribute_used__ 2008-01-28 23:21:18 +01:00
completion.h
comstats.h
concap.h
configfs.h
connector.h [CONNECTOR]: Cleanup struct cn_callback_entry 2008-01-28 15:00:40 -08:00
console_struct.h
console.h
consolemap.h
const.h x86: add _AT() macro to conditionally cast 2008-01-30 13:32:42 +01:00
cpu.h
cpufreq.h
cpuidle.h
cpumask.h x86: avoid build warning 2008-01-30 13:31:10 +01:00
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
cryptohash.h
ctype.h
cuda.h
cyclades.h include/linux/: Spelling fixes 2008-02-03 17:45:46 +02:00
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h Spelling fixes: lenght->length 2008-02-03 15:42:53 +02:00
dca.h
dcache.h
dccp.h [DCCP]: Reorganize struct dccp_sock to save 8 bytes 2008-02-03 04:28:53 -08:00
dcookies.h
debug_locks.h
debugfs.h
delay.h
delayacct.h
device-mapper.h
device.h iommu sg merging: add device_dma_parameters structure 2008-02-05 09:44:10 -08:00
devpts_fs.h
dio.h
dirent.h
display.h
dlm_device.h
dlm_netlink.h
dlm.h
dlmconstants.h
dm9000.h
dm-ioctl.h
dma-mapping.h iommu sg merging: add accessors for segment_boundary_mask in device_dma_parameters() 2008-02-05 09:44:11 -08:00
dmaengine.h include/linux/: Spelling fixes 2008-02-03 17:45:46 +02: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
edac.h
edd.h
eeprom_93cx6.h
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 x86: x86 core dump TLS 2008-01-30 13:31:56 +01:00
elfcore-compat.h
elfcore.h
elfnote.h remove __attribute_used__ 2008-01-28 23:21:18 +01:00
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h include/linux/: Spelling fixes 2008-02-03 17:45:46 +02: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: Add new functions for searching extent tree 2008-01-28 23:58:27 -05:00
ext4_fs_i.h ext4: Add multi block allocator for ext4 2008-01-29 00:19:52 -05:00
ext4_fs_sb.h ext4: Add multi block allocator for ext4 2008-01-29 00:19:52 -05:00
ext4_fs.h ext4: Add multi block allocator for ext4 2008-01-29 00:19:52 -05:00
ext4_jbd2.h
f75375s.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_stack.h
fs_struct.h
fs_uart_pd.h
fs.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2008-02-04 07:58:52 -08:00
fsl_devices.h
fsnotify.h
fuse.h
futex.h futex: Add bitset conditional wait/wakeup functionality 2008-02-01 17:45:14 +01:00
gameport.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h
getcpu.h
gfp.h Page allocator: clean up pcp draining functions 2008-02-05 09:44:17 -08:00
gfs2_ondisk.h
gigaset_dev.h
gpio_keys.h
gpio_mouse.h
hardirq.h
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h Spelling fixes: lenght->length 2008-02-03 15:42:53 +02:00
hdsmart.h <linux/hdsmart.h> is not used by kernel code 2008-02-01 23:09:34 +01:00
hid-debug.h
hid.h
hiddev.h
hidraw.h
highmem.h mm: fix PageUptodate data race 2008-02-05 09:44:19 -08:00
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hp_sdc.h
hpet.h x86: nuke a ton of dead hpet code 2008-01-30 13:30:27 +01:00
hrtimer.h timerfd: new timerfd API 2008-02-05 09:44:07 -08:00
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-sgi.h
i2c-dev.h
i2c-gpio.h
i2c-id.h
i2c-ocores.h
i2c-pnx.h
i2c-pxa.h
i2c.h
i2o-dev.h
i2o.h
i8k.h
i8042.h
ibmtr.h
icmp.h
icmpv6.h
ide.h ide: move check_dma_crc() to ide-dma.c 2008-02-02 19:56:47 +01:00
idr.h
ieee80211.h iwlwifi: Fix MIMO PS mode 2008-02-01 16:13:16 -05:00
if_addr.h
if_addrlabel.h [IPV6] ADDRCONF: Support RFC3484 configurable address selection policy table. 2008-01-28 14:53:58 -08:00
if_arcnet.h
if_arp.h [CAN]: Allocate protocol numbers for PF_CAN 2008-01-28 14:54:09 -08:00
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h [ETHER]: Bring back MAC_FMT 2008-01-28 15:08:27 -08:00
if_fc.h
if_fddi.h
if_frad.h annotate the rest of drivers/net/wan 2008-01-28 15:07:58 -08:00
if_hippi.h
if_infiniband.h
if_link.h
if_ltalk.h
if_macvlan.h
if_packet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_strip.h
if_tr.h [TR]: Use ctl paths to register net/token-ring/ table 2008-01-28 14:56:28 -08:00
if_tun.h annotate tun 2008-01-28 15:07:57 -08:00
if_tunnel.h [IPV6]: Add RFC4214 support 2008-01-28 14:55:09 -08:00
if_vlan.h [VLAN]: Turn __constant_htons into htons where possible 2008-01-28 15:08:32 -08:00
if_wanpipe.h
if.h [IPV6]: Add RFC4214 support 2008-01-28 14:55:09 -08:00
igmp.h
in6.h
in_route.h
in.h [IPV4]: Enable use of 240/4 address space. 2008-01-28 15:08:44 -08:00
inet_diag.h
inet_lro.h
inet.h
inetdevice.h [IPV4]: Make struct ipv4_devconf static. 2008-01-31 19:28:31 -08:00
init_ohci1394_dma.h x86: early boot debugging via FireWire (ohci1394_dma=early) 2008-01-30 13:34:11 +01:00
init_task.h [AUDIT] add session id to audit messages 2008-02-01 14:06:51 -05:00
init.h Remove __INIT_REFOK and __INITDATA_REFOK 2008-02-03 08:58:07 +01:00
initrd.h
inotify.h
input-polldev.h
input.h rfkill: add the WiMAX radio type 2008-01-31 19:26:46 -08:00
interrupt.h
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h iommu sg: add IOMMU helper functions for the free area management 2008-02-05 09:44:11 -08:00
ioport.h x86: remove extern declarations for code, data, bss resources 2008-01-30 13:30:32 +01:00
ioprio.h
ip6_tunnel.h
ip.h
ipc.h
ipmi_msgdefs.h
ipmi_smi.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h [NETNS]: Tcp-v6 sockets per-net lookup. 2008-01-31 19:28:20 -08:00
ipx.h
irda.h
irq_cpustat.h
irq.h
irqflags.h
irqreturn.h
isa.h
isapnp.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h
ivtvfb.h
ixjuser.h
jbd2.h jbd2: add lockdep support 2008-01-28 23:58:27 -05:00
jbd.h
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild Hibernation: Introduce exportable suspend ioctls header (rev. 2) 2008-02-01 18:30:53 -05:00
kd.h
kdebug.h
kdev_t.h
kernel_stat.h
kernel.h x86: make early printk selectable on 64-bit as well 2008-01-30 13:33:06 +01:00
kernelcapi.h
kexec.h
key-type.h
key-ui.h
key.h
keyboard.h
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject.h
kprobes.h x86: kprobes: add kprobes smoke tests that run on boot 2008-01-30 13:32:53 +01:00
kref.h
ks0108.h
kthread.h
ktime.h
kvm_host.h KVM: Move apic timer migration away from critical section 2008-01-30 18:01:22 +02:00
kvm_para.h KVM: Put kvm_para.h include outside __KERNEL__ 2008-01-30 18:01:22 +02:00
kvm_types.h KVM: Move arch dependent files to new directory arch/x86/kvm/ 2008-01-30 18:01:18 +02:00
kvm.h KVM: Portability: Move kvm_fpu to asm-x86/kvm.h 2008-01-30 18:01:22 +02:00
lapb.h
latency.h
latencytop.h
lcd.h
leds.h
lguest_launcher.h virtio: simplify config mechanism. 2008-02-04 23:49:57 +11:00
lguest.h
libata.h
libps2.h
license.h
limits.h
linkage.h x86: add ENDPROC() markers 2008-01-30 13:33:13 +01:00
linux_logo.h
list.h
llc.h include/linux/: Spelling fixes 2008-02-03 17:45:46 +02:00
lm_interface.h
lock_dlm_plock.h
lockdep.h
log2.h
loop.h
lp.h
lzo.h
m48t86.h
magic.h
major.h
maple.h
marker.h
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h
memory_hotplug.h
memory.h
mempolicy.h
mempool.h
meye.h
migrate.h
mii.h
minix_fs.h
miscdevice.h
mm_inline.h
mm_types.h
mm.h maps4: introduce a generic page walker 2008-02-05 09:44:16 -08:00
mman.h
mmtimer.h
mmzone.h Page allocator: get rid of the list of cold pages 2008-02-05 09:44:18 -08:00
mnt_namespace.h
mod_devicetable.h sdio: fix module device table definition for m68k 2008-02-05 09:44:08 -08:00
module.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2008-01-29 22:46:14 +11:00
moduleloader.h
moduleparam.h remove __attribute_used__ 2008-01-28 23:21:18 +01:00
mount.h
mpage.h
mqueue.h
mroute.h
msdos_fs.h
msg.h
msi.h
mtio.h
mutex-debug.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
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]: Remove the empty net_table 2008-01-28 14:56:29 -08:00
netdevice.h [VLAN]: set_rx_mode support for unicast address list 2008-01-31 19:28:24 -08:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h [NETFILTER]: Introduce NF_INET_ hook values 2008-01-28 14:53:55 -08:00
netfilter_ipv6.h [NETFILTER]: Introduce NF_INET_ hook values 2008-01-28 14:53:55 -08:00
netfilter.h [NETFILTER]: Extend nf_inet_addr with in{,6}_addr 2008-01-28 15:02:22 -08:00
netlink.h [IPV4] fib_trie: rescan if key is lost during dump 2008-01-31 19:28:23 -08:00
netpoll.h [NETPOLL]: Don't need rx_flags. 2008-01-28 14:54:18 -08:00
netrom.h
nfs2.h
nfs3.h
nfs4_acl.h
nfs4_mount.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h NFS: Invoke nlmclnt_init during NFS mount processing 2008-01-30 02:06:07 -05:00
nfs_fs.h Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
nfs_idmap.h
nfs_mount.h
nfs_page.h NFS: Clean up the write request locking. 2008-01-30 02:05:24 -05:00
nfs_xdr.h NFS: NFS version number is unsigned 2008-01-30 02:06:08 -05:00
nfs.h
nfsacl.h
nfsd_idmap.h knfsd: allow cache_register to return error on failure 2008-02-01 16:42:05 -05:00
nl80211.h cfg80211/nl80211: implement station attribute retrieval 2008-01-28 14:59:52 -08:00
nls.h
nmi.h
node.h
nodemask.h
notifier.h Hibernation: Add PM_RESTORE_PREPARE and PM_POST_RESTORE notifiers (rev. 2) 2008-02-01 18:30:53 -05:00
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvram.h
of_device.h
of_platform.h
of.h
oom.h
oprofile.h
page-flags.h mm: fix PageUptodate data race 2008-02-05 09:44:19 -08:00
page-isolation.h
pageblock-flags.h
pagemap.h
pagevec.h
param.h
parport_pc.h
parport.h
parser.h
pata_platform.h
patchkey.h
pci_hotplug.h
pci_ids.h serial: add ADDI-DATA GmbH Communication cardsin8250_pci.c and pci_ids.h 2008-02-05 09:44:09 -08:00
pci_regs.h Revert "PCI: PCIE ASPM support" 2008-02-02 11:32:01 -08:00
pci-acpi.h PCI ACPI: Added a function to register _OSC with only PCIe devices. 2008-02-01 15:04:29 -08:00
pci.h iommu sg merging: PCI: add dma segment boundary support 2008-02-05 09:44:12 -08:00
pcieport_if.h
pcounter.h [LIB] pcounter : unline too big functions 2008-01-28 15:00:35 -08:00
pda_power.h pda_power: implement polling 2008-02-02 02:44:34 +03:00
percpu_counter.h
percpu.h ia64: use generic percpu 2008-01-30 23:27:58 +01:00
personality.h
pfkeyv2.h [IPSEC]: Add support for combined mode algorithms 2008-01-31 19:27:03 -08:00
pfn.h
pg.h
phantom.h
phonedev.h
phy_fixed.h
phy.h PHYLIB: Locking fixes for PHY I/O potentially sleeping 2008-02-03 04:28:41 -08:00
pid_namespace.h
pid.h
pipe_fs_i.h
pkt_cls.h [NET_SCHED]: Add flow classifier 2008-01-31 19:28:36 -08:00
pkt_sched.h [NET_SCHED]: sch_sfq: make internal queues visible as classes 2008-01-31 19:28:35 -08:00
pktcdvd.h
platform_device.h
plist.h
pm_legacy.h
pm.h include/linux/: Spelling fixes 2008-02-03 17:45:46 +02:00
pmu.h
pnp.h include/linux/: Spelling fixes 2008-02-03 17:45:46 +02:00
pnpbios.h
poison.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix_types.h
posix-timers.h
power_supply.h power_supply: add few more values and props 2008-02-02 02:43:00 +03:00
ppdev.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
prctl.h
preempt.h
prefetch.h
prio_heap.h
prio_tree.h
proc_fs.h maps4: move clear_refs code to task_mmu.c 2008-02-05 09:44:16 -08:00
profile.h
proportions.h
ps2esdi.h
ptrace.h ptrace: generic PTRACE_SINGLEBLOCK 2008-01-30 13:30:53 +01:00
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h radix_tree.h trivial comment correction 2008-02-03 16:12:47 +02:00
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcuclassic.h
rcupdate.h
rcupreempt_trace.h
rcupreempt.h
reboot.h
reciprocal_div.h
regset.h x86: user_regset user-copy helpers 2008-01-30 13:31:47 +01:00
reiserfs_acl.h
reiserfs_fs_i.h
reiserfs_fs_sb.h Spelling fixes: lenght->length 2008-02-03 15:42:53 +02:00
reiserfs_fs.h
reiserfs_xattr.h
relay.h
resource.h
resume-trace.h
rfkill.h rfkill: add the WiMAX radio type 2008-01-31 19:26:46 -08: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 [NET]: Make rtnetlink infrastructure network namespace aware (v3) 2008-01-28 14:54:25 -08:00
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h maps4: rework TASK_SIZE macros 2008-02-05 09:44:16 -08:00
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux_netlink.h
selinux.h SELinux: Enable dynamic enable/disable of the network access checks 2008-01-30 08:17:26 +11:00
sem.h
seq_file.h [NET]: Consolidate net namespace related proc files creation. 2008-01-28 14:54:28 -08:00
seqlock.h
serial167.h
serial_8250.h 8250.c: support specifying DW APB UARTs in device platform_data 2008-02-05 09:44:09 -08:00
serial_core.h
serial_pnx8xxx.h
serial_reg.h
serial.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h
signalfd.h Fix a small number of "memeber" typoes. 2008-02-03 15:12:15 +02:00
skbuff.h virtio: Implement skb_partial_csum_set, for setting partial csums on untrusted packets. 2008-02-04 23:49:56 +11:00
slab_def.h
slab.h
slob_def.h
slub_def.h Explain kmem_cache_cpu fields 2008-02-04 10:56:03 -08:00
sm501-regs.h include/linux/: Spelling fixes 2008-02-03 17:45:46 +02:00
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 x86: optimize lock prefix switching to run less frequently 2008-01-30 13:33:17 +01:00
snmp.h [XFRM]: Fix statistics. 2008-01-31 19:28:30 -08:00
socket.h [NET] sysctl: make sysctl_somaxconn per-namespace 2008-01-28 14:56:57 -08:00
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 include/linux/: Spelling fixes 2008-02-03 17:45:46 +02:00
spinlock_types_up.h
spinlock_types.h spinlock: lockbreak cleanup 2008-01-30 13:31:20 +01:00
spinlock_up.h spinlock: lockbreak cleanup 2008-01-30 13:31:20 +01:00
spinlock.h spinlock: lockbreak cleanup 2008-01-30 13:31:20 +01:00
splice.h [SPLICE]: Don't assume regular pages in splice_to_pipe() 2008-01-28 14:53:30 -08:00
srcu.h
stacktrace.h
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
stringify.h
superhyway.h
suspend_ioctls.h Hibernation: Introduce exportable suspend ioctls header (rev. 2) 2008-02-01 18:30:53 -05:00
suspend.h Page allocator: clean up pcp draining functions 2008-02-05 09:44:17 -08:00
svga.h
swap.h tmpfs: move swap swizzling into shmem 2008-02-05 09:44:15 -08:00
swapops.h maps4: move is_swap_pte 2008-02-05 09:44:16 -08:00
synclink.h
sys.h
syscalls.h timerfd: new timerfd API 2008-02-05 09:44:07 -08:00
sysctl.h [IPV4] route cache: Introduce rt_genid for smooth cache invalidation 2008-01-31 19:28:27 -08:00
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
task_io_accounting_ops.h
task_io_accounting.h
taskstats_kern.h
taskstats.h
tc.h
tcp.h [TCP]: Rewrite SACK block processing & sack_recv_cache use 2008-01-28 14:54:07 -08:00
telephony.h
termios.h
textsearch_fsm.h
textsearch.h
tfrc.h
thread_info.h futex: Add bitset conditional wait/wakeup functionality 2008-02-01 17:45:14 +01:00
threads.h
tick.h tick-sched: add more debug information 2008-02-01 17:45:14 +01:00
tifm.h
time.h timekeeping: update xtime_cache when time(zone) changes 2008-02-01 17:45:13 +01:00
timer.h time: clean hungarian notation from timers 2008-01-30 13:30:00 +01:00
timerfd.h
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_flip.h
tty_ldisc.h
tty.h [CAN]: Allocate protocol numbers for PF_CAN 2008-01-28 14:54:09 -08:00
types.h linux/types.h: Use __u64 for aligned_u64 2008-01-31 19:27:30 -08:00
uaccess.h
udf_fs_i.h
udf_fs_sb.h
udf_fs.h
udp.h
ufs_fs.h
uinput.h
uio_driver.h
uio.h
ultrasound.h
un.h
unistd.h
unwind.h
usb_usual.h USB: usb-storage: new "lockable" subclass 0x07 2008-02-01 14:34:49 -08:00
usb.h USB: fix codingstyle issues in include/linux/usb.h 2008-02-01 14:35:07 -08:00
usbdevice_fs.h USB: usbdevfs_urb: __user annotation 2008-02-01 14:34:58 -08:00
user_namespace.h
user.h
utime.h
uts.h
utsname.h
vermagic.h
veth.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev2.h
videodev.h
videotext.h
virtio_9p.h
virtio_balloon.h virtio: balloon driver 2008-02-04 23:50:13 +11:00
virtio_blk.h virtio: remove unused id field from struct virtio_blk_outhdr 2008-02-04 23:50:01 +11:00
virtio_config.h virtio: reset function 2008-02-04 23:50:03 +11:00
virtio_console.h
virtio_net.h virtio: Tweak virtio_net defines 2008-02-04 23:50:02 +11:00
virtio_pci.h virtio: Use PCI revision field to indicate virtio PCI ABI version 2008-02-04 23:50:12 +11:00
virtio_ring.h virtio: clarify NO_NOTIFY flag usage 2008-02-04 23:50:00 +11:00
virtio.h virtio: reset function 2008-02-04 23:50:03 +11:00
vmalloc.h vmalloc: add const to void* parameters 2008-02-05 09:44:14 -08:00
vmstat.h
vt_buffer.h
vt_kern.h
vt.h
wait.h lockdep: annotate epoll 2008-02-05 09:44:07 -08:00
wanrouter.h
watchdog.h
wireless.h Spelling fixes: lenght->length 2008-02-03 15:42:53 +02:00
workqueue.h
writeback.h mm/page-writeback: highmem_is_dirtyable option 2008-02-05 09:44:18 -08:00
x25.h
xattr.h
xfrm.h [IPSEC]: Add support for combined mode algorithms 2008-01-31 19:27:03 -08:00
xilinxfb.h
yam.h
zconf.h
zlib.h
zorro_ids.h
zorro.h
zutil.h