kernel-hacking-2024-linux-s.../include/linux
Christoph Lameter 81819f0fc8 SLUB core
This is a new slab allocator which was motivated by the complexity of the
existing code in mm/slab.c. It attempts to address a variety of concerns
with the existing implementation.

A. Management of object queues

   A particular concern was the complex management of the numerous object
   queues in SLAB. SLUB has no such queues. Instead we dedicate a slab for
   each allocating CPU and use objects from a slab directly instead of
   queueing them up.

B. Storage overhead of object queues

   SLAB Object queues exist per node, per CPU. The alien cache queue even
   has a queue array that contain a queue for each processor on each
   node. For very large systems the number of queues and the number of
   objects that may be caught in those queues grows exponentially. On our
   systems with 1k nodes / processors we have several gigabytes just tied up
   for storing references to objects for those queues  This does not include
   the objects that could be on those queues. One fears that the whole
   memory of the machine could one day be consumed by those queues.

C. SLAB meta data overhead

   SLAB has overhead at the beginning of each slab. This means that data
   cannot be naturally aligned at the beginning of a slab block. SLUB keeps
   all meta data in the corresponding page_struct. Objects can be naturally
   aligned in the slab. F.e. a 128 byte object will be aligned at 128 byte
   boundaries and can fit tightly into a 4k page with no bytes left over.
   SLAB cannot do this.

D. SLAB has a complex cache reaper

   SLUB does not need a cache reaper for UP systems. On SMP systems
   the per CPU slab may be pushed back into partial list but that
   operation is simple and does not require an iteration over a list
   of objects. SLAB expires per CPU, shared and alien object queues
   during cache reaping which may cause strange hold offs.

E. SLAB has complex NUMA policy layer support

   SLUB pushes NUMA policy handling into the page allocator. This means that
   allocation is coarser (SLUB does interleave on a page level) but that
   situation was also present before 2.6.13. SLABs application of
   policies to individual slab objects allocated in SLAB is
   certainly a performance concern due to the frequent references to
   memory policies which may lead a sequence of objects to come from
   one node after another. SLUB will get a slab full of objects
   from one node and then will switch to the next.

F. Reduction of the size of partial slab lists

   SLAB has per node partial lists. This means that over time a large
   number of partial slabs may accumulate on those lists. These can
   only be reused if allocator occur on specific nodes. SLUB has a global
   pool of partial slabs and will consume slabs from that pool to
   decrease fragmentation.

G. Tunables

   SLAB has sophisticated tuning abilities for each slab cache. One can
   manipulate the queue sizes in detail. However, filling the queues still
   requires the uses of the spin lock to check out slabs. SLUB has a global
   parameter (min_slab_order) for tuning. Increasing the minimum slab
   order can decrease the locking overhead. The bigger the slab order the
   less motions of pages between per CPU and partial lists occur and the
   better SLUB will be scaling.

G. Slab merging

   We often have slab caches with similar parameters. SLUB detects those
   on boot up and merges them into the corresponding general caches. This
   leads to more effective memory use. About 50% of all caches can
   be eliminated through slab merging. This will also decrease
   slab fragmentation because partial allocated slabs can be filled
   up again. Slab merging can be switched off by specifying
   slub_nomerge on boot up.

   Note that merging can expose heretofore unknown bugs in the kernel
   because corrupted objects may now be placed differently and corrupt
   differing neighboring objects. Enable sanity checks to find those.

H. Diagnostics

   The current slab diagnostics are difficult to use and require a
   recompilation of the kernel. SLUB contains debugging code that
   is always available (but is kept out of the hot code paths).
   SLUB diagnostics can be enabled via the "slab_debug" option.
   Parameters can be specified to select a single or a group of
   slab caches for diagnostics. This means that the system is running
   with the usual performance and it is much more likely that
   race conditions can be reproduced.

I. Resiliency

   If basic sanity checks are on then SLUB is capable of detecting
   common error conditions and recover as best as possible to allow the
   system to continue.

J. Tracing

   Tracing can be enabled via the slab_debug=T,<slabcache> option
   during boot. SLUB will then protocol all actions on that slabcache
   and dump the object contents on free.

K. On demand DMA cache creation.

   Generally DMA caches are not needed. If a kmalloc is used with
   __GFP_DMA then just create this single slabcache that is needed.
   For systems that have no ZONE_DMA requirement the support is
   completely eliminated.

L. Performance increase

   Some benchmarks have shown speed improvements on kernbench in the
   range of 5-10%. The locking overhead of slub is based on the
   underlying base allocation size. If we can reliably allocate
   larger order pages then it is possible to increase slub
   performance much further. The anti-fragmentation patches may
   enable further performance increases.

Tested on:
i386 UP + SMP, x86_64 UP + SMP + NUMA emulation, IA64 NUMA + Simulator

SLUB Boot options

slub_nomerge		Disable merging of slabs
slub_min_order=x	Require a minimum order for slab caches. This
			increases the managed chunk size and therefore
			reduces meta data and locking overhead.
slub_min_objects=x	Mininum objects per slab. Default is 8.
slub_max_order=x	Avoid generating slabs larger than order specified.
slub_debug		Enable all diagnostics for all caches
slub_debug=<options>	Enable selective options for all caches
slub_debug=<o>,<cache>	Enable selective options for a certain set of
			caches

Available Debug options
F		Double Free checking, sanity and resiliency
R		Red zoning
P		Object / padding poisoning
U		Track last free / alloc
T		Trace all allocs / frees (only use for individual slabs).

To use SLUB: Apply this patch and then select SLUB as the default slab
allocator.

[hugh@veritas.com: fix an oops-causing locking error]
[akpm@linux-foundation.org: various stupid cleanups and small fixes]
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-07 12:12:53 -07:00
..
amba
byteorder
dvb V4L/DVB (5419): Add comment how the speed field is interpreted. 2007-04-27 15:44:34 -03:00
hdlc
isdn [PATCH] Fix buffer overflow and races in capi debug functions 2007-03-01 14:53:39 -08:00
lockd NLM: Shrink the maximum request size of NLM4 requests 2007-04-30 22:17:09 -07:00
mmc mmc: remove old card states 2007-05-01 16:11:57 +02:00
mtd Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2007-04-27 19:16:19 +01:00
netfilter [NETFILTER]: nf_nat_proto_gre: do not modify/corrupt GREv0 packets through NAT 2007-05-03 03:34:42 -07:00
netfilter_arp
netfilter_bridge [NETFILTER]: ebt_arp: add gratuitous arp filtering 2007-04-25 22:28:58 -07:00
netfilter_ipv4 [NETFILTER]: Remove IPv4 only connection tracking/NAT 2007-04-25 22:25:34 -07:00
netfilter_ipv6
nfsd [PATCH] knfsd: add some new fsid types 2007-02-14 08:09:53 -08:00
raid [PATCH] md: avoid a deadlock when removing a device from an md array via sysfs 2007-04-04 21:12:47 -07:00
spi [PATCH] spi: destroy workqueue after spi_unregister_master 2007-03-16 19:25:04 -07:00
sunrpc SUNRPC: remove old portmapper 2007-04-30 22:17:15 -07:00
tc_act
tc_ematch
usb USB: <linux/usb/ch9.h> minor doc update 2007-04-27 13:28:39 -07:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h ACPI: acpi_table_parse_madt_family() is not MADT specific 2007-02-13 02:58:52 -05:00
acpi_pmtmr.h [PATCH] Allow early access to the power management timer 2007-02-16 08:13:58 -08:00
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
apm-emulation.h
apm_bios.h
arcdevice.h
arcfb.h
ata.h libata: Handle drives that require a spin-up command before first access 2007-04-28 14:40:40 -04:00
atalk.h [SK_BUFF]: Introduce skb_transport_header(skb) 2007-04-25 22:25:31 -07:00
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_pdc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h [PATCH] linux/audit.h needs linux/types.h 2007-03-06 09:30:25 -08:00
auto_fs.h
auto_fs4.h [PATCH] autofs4: header file update 2007-02-20 17:10:15 -08:00
auxvec.h
awe_voice.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h [PATCH] nfs: fix congestion control 2007-03-16 19:25:05 -07:00
backlight.h backlight: Separate backlight properties from backlight ops pointers 2007-02-20 09:26:53 +00:00
baycom.h
bcd.h
bfs_fs.h
binfmts.h [PATCH] x86: Don't require the vDSO for handling a.out signals 2007-02-13 13:26:26 +01:00
bio.h [BLOCK] Don't pin lots of memory in mempools 2007-04-30 09:08:17 +02:00
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blkdev.h ll_rw_blk: add io_context private pointer 2007-04-30 09:01:23 +02:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bootmem.h [PATCH] x86-64: Set HASHDIST_DEFAULT to 1 for x86_64 NUMA 2007-05-02 19:27:08 +02:00
bottom_half.h
bpqether.h
buffer_head.h [PATCH] warning fix: unsigned->signed 2007-02-12 09:48:29 -08:00
bug.h
cache.h
calc64.h
capability.h
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h [PATCH] cdrom: use unsigned bitfields 2007-02-20 17:10:14 -08:00
cfag12864b.h [PATCH] cfag12864b: fix crash when built-in and no parport present 2007-02-20 17:10:14 -08:00
chio.h
circ_buf.h
clk.h
clockchips.h [PATCH] clockevents: add core functionality 2007-02-16 08:13:59 -08:00
clocksource.h [PATCH] generic: vsyscall-gtod support for GENERIC_TIME 2007-02-16 08:14:00 -08:00
cm4000_cs.h
cn_proc.h
cobalt-nvram.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h [PATCH] mark struct inode_operations const 3 2007-02-12 09:48:46 -08:00
coda_proc.h
coda_psdev.h
coff.h
com20020.h
compat.h [PATCH] Add epoll compat_ code to fs/compat.c 2007-03-08 07:38:22 -08:00
compat_ioctl.h
compiler-gcc.h
compiler-gcc3.h Add unitialized_var() macro for suppressing gcc warnings 2007-05-07 12:12:52 -07:00
compiler-gcc4.h Add unitialized_var() macro for suppressing gcc warnings 2007-05-07 12:12:52 -07:00
compiler-intel.h Add unitialized_var() macro for suppressing gcc warnings 2007-05-07 12:12:52 -07:00
compiler.h [PATCH] Add const to pointer qualifiers for __chk_user_ptr and __chk_io_ptr. 2007-03-26 14:23:52 -07:00
completion.h
comstats.h
concap.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
cpu.h [PATCH] Fix microcode-related suspend problem 2007-04-02 10:06:09 -07:00
cpufreq.h Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2007-05-05 14:55:20 -07:00
cpumask.h [PATCH] Convert highest_possible_processor_id to nr_cpu_ids 2007-02-20 17:10:13 -08:00
cpuset.h [PATCH] mark struct file_operations const 1 2007-02-12 09:48:44 -08:00
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h [PATCH] i386: Allow i386 crash kernels to handle x86_64 dumps 2007-05-02 19:27:09 +02:00
crc-ccitt.h
crc16.h
crc32.h
crc32c.h
crypto.h [CRYPTO] api: Add ablkcipher_request_set_tfm 2007-05-02 14:38:33 +10:00
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h
dccp.h [DCCP]: Complete documentation of dccp_sock 2007-04-25 22:28:56 -07:00
dcookies.h
debug_locks.h
debugfs.h debugfs: Add debugfs_create_u64() 2007-04-27 10:57:31 -07:00
delay.h
delayacct.h
device-mapper.h
device.h Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-05-04 18:04:48 -07:00
devpts_fs.h
dio.h
dirent.h
dlm.h
dlm_device.h
dm-ioctl.h
dm9000.h
dma-mapping.h
dmaengine.h
dmapool.h
dmi.h
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1286.h
ds17287rtc.h
dtlk.h
edd.h
efi.h
efs_dir.h
efs_fs.h [PATCH] mark struct inode_operations const 3 2007-02-12 09:48:46 -08:00
efs_fs_i.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h [PATCH] i386: Relocate VDSO ELF headers to match mapped location with COMPAT_VDSO 2007-05-02 19:27:12 +02:00
elfcore.h
elfnote.h [PATCH] i386: Clean up ELF note generation 2007-05-02 19:27:17 +02:00
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h [ETHTOOL]: Add 2.5G bit definitions. 2007-05-03 13:17:25 -07:00
eventpoll.h [PATCH] uml: fix epoll 2007-03-27 09:05:15 -07:00
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h [PATCH] mark struct inode_operations const 3 2007-02-12 09:48:46 -08:00
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
ext4_fs.h [PATCH] mark struct inode_operations const 3 2007-02-12 09:48:46 -08:00
ext4_fs_extents.h Fix misspellings of "agressive". 2007-02-17 19:20:16 +01:00
ext4_fs_i.h
ext4_fs_sb.h
ext4_jbd2.h
fadvise.h
fault-inject.h
fb.h backlight: Rework backlight/fb interaction simplifying, lots 2007-02-20 08:38:46 +00:00
fcdevice.h
fcntl.h
fd.h
fd1772.h
fddidevice.h
fdreg.h
fib_rules.h [IPV6] FIB6RULE: Find source address during looking up route. 2007-04-25 22:28:35 -07:00
file.h
filter.h
firmware.h
flat.h
font.h
freezer.h
fs.h readahead: code cleanup 2007-05-07 12:12:52 -07:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fsl_devices.h ucc_geth: migrate ucc_geth to phylib 2007-04-28 11:01:04 -04:00
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
gigaset_dev.h [PATCH] drivers/isdn/gigaset: new M101 driver (v2) 2007-02-12 09:48:30 -08:00
gpio_keys.h Input: gpio_keys - add support for switches (EV_SW) 2007-05-01 00:39:13 -04:00
hardirq.h [PATCH] tick-management: dyntick / highres functionality 2007-02-16 08:13:59 -08:00
harrier_defs.h
hash.h
hayesesp.h
hdlc.h Generic HDLC sparse annotations 2007-04-28 11:01:07 -04:00
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hid-debug.h
hid.h USB HID: add 'quirks' module parameter 2007-04-19 14:56:12 +02:00
hiddev.h
highmem.h Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2007-05-05 14:55:20 -07:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h Input: HIL - fix rwlock recursion bug 2007-03-16 00:59:29 -04:00
hpet.h
hrtimer.h [PATCH] high-res timers: resume fix 2007-04-07 10:03:43 -07:00
htirq.h
hugetlb.h proper prototype for hugetlb_get_unmapped_area() 2007-05-07 12:12:51 -07:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h i2c-algo-bit: Implement a 50/50 SCL duty cycle 2007-05-01 23:26:33 +02:00
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-dev.h
i2c-gpio.h i2c: Bitbanging I2C bus driver using the GPIO API 2007-05-01 23:26:34 +02:00
i2c-id.h i2c: Blackfin Two Wire Interface driver 2007-05-01 23:26:32 +02:00
i2c-isa.h
i2c-ocores.h
i2c-pnx.h
i2c-pxa.h
i2c.h i2c: Restore i2c_smbus_read_block_data 2007-05-01 23:26:34 +02:00
i2o-dev.h
i2o.h
i8k.h
ibmtr.h
icmp.h [SK_BUFF]: Introduce skb_transport_header(skb) 2007-04-25 22:25:31 -07:00
icmpv6.h [SK_BUFF]: Introduce skb_transport_header(skb) 2007-04-25 22:25:31 -07:00
ide.h sl82c105: rework PIO support (take 2) 2007-05-05 22:03:49 +02:00
idr.h
ieee80211.h [MAC80211]: Add generic include/linux/ieee80211.h 2007-05-05 11:43:04 -07:00
if.h
if_addr.h [IPV6] ADDRCONF: Optimistic Duplicate Address Detection (RFC 4429) Support. 2007-04-25 22:23:43 -07:00
if_arcnet.h
if_arp.h [SK_BUFF]: Introduce arp_hdr(), remove skb->nh.arph 2007-04-25 22:25:12 -07:00
if_bonding.h
if_bridge.h bridge: eliminate call by reference 2007-04-25 22:28:44 -07:00
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h [BRIDGE]: drop PAUSE frames 2007-04-25 22:30:01 -07:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h [IPV6] SNMP: Netlink interface. 2007-04-25 22:29:10 -07:00
if_ltalk.h
if_packet.h [AF_PACKET]: Add option to return orig_dev to userspace. 2007-04-25 22:29:14 -07:00
if_plip.h
if_ppp.h
if_pppox.h [NETFILTER]: bridge-nf: filter bridged IPv4/IPv6 encapsulated in pppoe traffic 2007-04-25 22:28:57 -07:00
if_shaper.h
if_slip.h
if_strip.h
if_tr.h [SK_BUFF]: Introduce skb_mac_header() 2007-04-25 22:24:41 -07:00
if_tun.h
if_tunnel.h
if_vlan.h [SK_BUFF]: unions of just one member don't get anything done, kill them 2007-04-25 22:26:20 -07:00
if_wanpipe.h
igmp.h [SK_BUFF]: Introduce skb_transport_header(skb) 2007-04-25 22:25:31 -07:00
in.h [INET]: Add IP(V6)_PMTUDISC_RPOBE 2007-04-25 22:29:10 -07:00
in6.h [IPV6]: Export in6addr_any for future use. 2007-04-25 22:29:57 -07:00
in_route.h
inet.h
inet_diag.h
inetdevice.h
init.h [PATCH] i386: Change sysenter_setup to __cpuinit & improve __INIT, __INITDATA 2007-05-02 19:27:05 +02:00
init_task.h [PATCH] tty: update the tty layer to work with struct pid 2007-02-12 09:48:32 -08:00
initrd.h
inotify.h
input-polldev.h Input: add skeleton for simple polled devices 2007-04-29 23:42:45 -04:00
input.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-05-06 13:21:57 -07:00
interrupt.h lockdep: Add missing disable/enable irq variant 2007-05-04 17:59:06 -07:00
io.h Provide dummy devm_ioport_* if !HAS_IOPORT 2007-04-17 16:36:27 -07:00
ioc3.h
ioc4.h
ioctl.h
ioctl32.h
ioport.h libata/IDE: remove combined mode quirk 2007-04-28 14:15:59 -04:00
ioprio.h
ip.h [SK_BUFF]: Introduce skb_transport_header(skb) 2007-04-25 22:25:31 -07:00
ip6_tunnel.h
ip_mp_alg.h
ipc.h [PATCH] ipcns: fix !CONFIG_IPC_NS behavior 2007-03-27 09:05:16 -07:00
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipsec.h
ipv6.h [SK_BUFF]: Introduce skb_transport_header(skb) 2007-04-25 22:25:31 -07:00
ipv6_route.h
ipx.h
irda.h
irq.h [PATCH] FRV: Missing error defs 2007-03-01 14:53:38 -08:00
irq_cpustat.h
irqflags.h
irqreturn.h
isa.h
isapnp.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ixjuser.h
jbd.h
jbd2.h
jffs2.h
jhash.h [JHASH]: Use const in jhash2 2007-04-25 22:25:52 -07:00
jiffies.h [PATCH] Fix timeout overflow with jiffies 2007-02-16 08:13:56 -08:00
journal-head.h
joystick.h
kallsyms.h Extend print_symbol capability 2007-04-30 16:40:39 -07:00
kbd_diacr.h
kbd_kern.h [PATCH] swsusp: fix suspend when console is in VT_AUTO+KD_GRAPHICS mode 2007-03-16 19:25:05 -07:00
Kbuild KVM: Export <linux/kvm.h> 2007-05-03 10:52:22 +03:00
kd.h
kdev_t.h [PATCH] remove protection of LANANA-reserved majors 2007-04-04 21:12:47 -07:00
kernel.h Add kvasprintf() 2007-04-30 16:40:40 -07:00
kernel_stat.h
kernelcapi.h
kexec.h [ARM] 4137/1: Add kexec support 2007-02-16 14:37:06 +00:00
key-ui.h
key.h [AF_RXRPC]: Key facility changes for AF_RXRPC 2007-04-26 15:46:23 -07:00
keyboard.h
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h
kmod.h Revert "Driver core: let request_module() send a /sys/modules/kmod/-uevent" 2007-02-23 14:54:57 -08:00
kobj_map.h
kobject.h remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
kprobes.h
kref.h
ks0108.h [PATCH] cfag12864b: fix crash when built-in and no parport present 2007-02-20 17:10:14 -08:00
kthread.h
ktime.h [TCP]: Fix linkage errors on i386. 2007-04-25 22:29:49 -07:00
kvm.h KVM: Remove unused 'instruction_length' 2007-05-03 10:52:32 +03:00
kvm_para.h KVM: Add host hypercall support for vmx 2007-03-04 11:12:40 +02:00
lapb.h
latency.h
lcd.h backlight: Separate backlight properties from backlight ops pointers 2007-02-20 09:26:53 +00:00
leds.h
libata.h libata: separate ATA_EHI_DID_RESET into DID_SOFTRESET and DID_HARDRESET 2007-04-28 14:51:33 -04:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
list.h
llc.h
lm_interface.h
lock_dlm_plock.h
lockdep.h [PATCH] lockdep: lockdep_depth vs. debug_locks 2007-03-22 19:39:06 -07:00
log2.h Correct trivial typo in log2.h. 2007-02-17 19:17:37 +01:00
loop.h
lp.h
m41t00.h
m48t86.h
magic.h KVM: Move kvmfs magic number to <linux/magic.h> 2007-03-04 11:12:43 +02:00
major.h
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
meye.h
migrate.h [PATCH] Page migration: Fix vma flag checking 2007-03-05 07:57:51 -08:00
mii.h
minix_fs.h [PATCH] minix v3: fix superblock definition 2007-02-20 17:10:13 -08:00
miscdevice.h KVM: Use own minor number 2007-05-03 10:52:22 +03:00
mm.h mm: remove gcc workaround 2007-05-07 12:12:51 -07:00
mm_inline.h
mm_types.h SLUB core 2007-05-07 12:12:53 -07:00
mman.h
mmtimer.h
mmzone.h add pfn_valid_within helper for sub-MAX_ORDER hole detection 2007-05-07 12:12:52 -07:00
mnt_namespace.h
mod_devicetable.h kbuild: remove dependency on input.h from file2alias 2007-05-02 20:58:08 +02:00
module.h remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
moduleloader.h
moduleparam.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-02-19 13:29:02 -08:00
mount.h
mpage.h
mqueue.h
mroute.h
msdos_fs.h [PATCH] mark struct inode_operations const 3 2007-02-12 09:48:46 -08:00
msg.h
msi.h MSI: Give archs the option to free all MSI/Xs at once. 2007-05-02 19:02:38 -07:00
mtio.h
mutex-debug.h
mutex.h
mv643xx.h mv643xx_eth: Place explicit port number in mv643xx_eth_platform_data 2007-03-06 06:14:54 -05:00
n_r3964.h
namei.h security: prevent permission checking of file removal via sysfs_remove_group() 2007-04-27 10:57:33 -07:00
nbd.h
ncp.h
ncp_fs.h [PATCH] mark struct inode_operations const 3 2007-02-12 09:48:46 -08:00
ncp_fs_i.h
ncp_fs_sb.h ncpfs: make sure server connection survives a kill 2007-03-06 13:26:27 +01:00
ncp_mount.h
ncp_no.h
neighbour.h
net.h [AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both 2007-04-26 15:48:28 -07:00
netdevice.h [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
netfilter.h [NETFILTER]: nf_conntrack: kill destroy() in struct nf_conntrack for diet 2007-04-25 22:27:45 -07:00
netfilter_arp.h
netfilter_bridge.h [NETFILTER]: bridge netfilter: consolidate header pushing/pulling code 2007-05-03 03:36:16 -07:00
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h [NETLINK]: Remove references to process ID 2007-05-05 11:42:03 -07:00
netpoll.h
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h [PATCH] knfsd: nfsd4: represent nfsv4 acl with array instead of linked list 2007-02-16 08:14:01 -08:00
nfs4_acl.h [PATCH] knfsd: nfsd4: represent nfsv4 acl with array instead of linked list 2007-02-16 08:14:01 -08:00
nfs4_mount.h
nfs_fs.h NFS: Fix a buffer overflow in the allocation of struct nfs_read/writedata 2007-04-30 22:17:07 -07:00
nfs_fs_i.h
nfs_fs_sb.h [PATCH] nfs: fix congestion control 2007-03-16 19:25:05 -07:00
nfs_idmap.h
nfs_mount.h NFS: Added support to turn off the NFSv3 READDIRPLUS RPC. 2007-04-30 22:17:16 -07:00
nfs_page.h NFS: Use pgoff_t in structures and functions that pass page cache offsets 2007-04-30 22:17:09 -07:00
nfs_xdr.h Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ 2007-02-12 22:43:25 -08:00
nfsacl.h
nfsd_idmap.h
nl80211.h [WIRELESS] cfg80211: New wireless config infrastructure. 2007-04-25 22:29:41 -07:00
nls.h
nmi.h [PATCH] x86: fix laptop bootup hang in init_acpi() 2007-02-13 13:26:24 +01:00
node.h
nodemask.h [PATCH] Replace highest_possible_node_id() with nr_node_ids 2007-02-20 17:10:13 -08:00
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h NuBus header update 2007-05-04 17:59:07 -07:00
numa.h
nvram.h
oom.h
oprofile.h
page-flags.h [S390] split page_test_and_clear_dirty. 2007-04-27 16:01:46 +02:00
pagemap.h mm: make read_cache_page synchronous 2007-05-07 12:12:51 -07:00
pagevec.h
param.h
parport.h
parport_pc.h
parser.h Fix nfsroot build 2007-05-05 14:15:32 -07:00
pata_platform.h
patchkey.h
pci-acpi.h
pci.h PCI: the overdue removal of pci_module_init() 2007-05-02 19:02:38 -07:00
pci_hotplug.h remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
pci_ids.h Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2007-05-04 19:36:58 -07:00
pci_regs.h [PATCH] msi: Safer state caching. 2007-03-12 16:31:50 -07:00
pcieport_if.h
percpu.h [PATCH] x86-64: Account for module percpu space separately from kernel percpu 2007-05-02 19:27:11 +02:00
percpu_counter.h
personality.h
pfkeyv2.h
pfn.h
pg.h
phonedev.h [PATCH] mark struct inode_operations const 3 2007-02-12 09:48:46 -08:00
phy.h phylib: add RGMII-ID interface mode definition 2007-04-28 11:01:04 -04:00
pid.h [PATCH] pid: remove now unused do_each_task_pid and while_each_task_pid 2007-02-12 09:48:32 -08:00
pid_namespace.h
pipe_fs_i.h Export __splice_from_pipe() 2007-03-27 08:55:47 +02:00
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
plist.h kernel-doc: fix plist.h comments 2007-04-17 16:36:26 -07:00
pm.h pm: include EIO from errno-base.h 2007-04-30 16:40:41 -07:00
pm_legacy.h
pmu.h [POWERPC] powermac: disallow pmu sleep notifiers from aborting sleep 2007-03-26 12:35:17 +10:00
pnp.h
pnpbios.h
poison.h SLUB core 2007-05-07 12:12:53 -07:00
poll.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
prctl.h
preempt.h
prefetch.h
prio_tree.h
proc_fs.h smaps: add clear_refs file to clear reference 2007-05-07 12:12:52 -07:00
profile.h
ps2esdi.h
ptrace.h
qnx4_fs.h [PATCH] mark struct inode_operations const 3 2007-02-12 09:48:46 -08:00
qnxtypes.h
quota.h [PATCH] QUOTA: Have <linux/quota.h> include <linux/rwsem.h> explicitly 2007-02-12 09:48:28 -08:00
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
random.h [PATCH] mark struct file_operations const 1 2007-02-12 09:48:44 -08:00
raw.h
rbtree.h
rcupdate.h
reboot.h
reciprocal_div.h
reiserfs_acl.h
reiserfs_fs.h [PATCH] mark struct inode_operations const 3 2007-02-12 09:48:46 -08:00
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_xattr.h
relay.h
resource.h
resume-trace.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 [RTNL]: Message handler registration interface 2007-04-25 22:27:04 -07:00
rwsem-spinlock.h
rwsem.h
rxrpc.h [AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both 2007-04-26 15:48:28 -07:00
sc26198.h
scatterlist.h
scc.h
sched.h make SysRq-T show all tasks again 2007-04-27 10:46:51 -07:00
screen_info.h
sctp.h [SK_BUFF]: Introduce skb_transport_header(skb) 2007-04-25 22:25:31 -07:00
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h [PATCH] sanitize security_getprocattr() API 2007-03-14 15:27:48 -07:00
selection.h
selinux.h
selinux_netlink.h
sem.h
seq_file.h
seqlock.h seqlocks: trivial remove weird whitespace 2007-04-27 10:44:42 -07:00
serial.h
serial167.h
serial_8250.h
serial_core.h serial: define FIXED_PORT flag for serial_core 2007-05-07 12:12:50 -07:00
serial_pnx8xxx.h [PATCH] fix PNX8550 serial breakage 2007-02-14 08:09:52 -08:00
serial_reg.h serial driver PMC MSP71xx 2007-05-07 12:12:50 -07:00
serialP.h
serio.h Input: i8042 - let serio bus suspend ports 2007-02-18 01:40:30 -05:00
shm.h [PATCH] Fix get_unmapped_area and fsync for hugetlb shm segments 2007-03-01 17:18:39 -08:00
shmem_fs.h
signal.h
skbuff.h [NET] skbuff: fix kernel-doc 2007-05-03 03:16:20 -07:00
slab.h SLUB core 2007-05-07 12:12:53 -07:00
slab_def.h
slub_def.h SLUB core 2007-05-07 12:12:53 -07:00
sm501-regs.h [PATCH] mfd: SM501 core driver 2007-02-20 17:10:14 -08:00
sm501.h [PATCH] mfd: SM501 core driver 2007-02-20 17:10:14 -08:00
smb.h
smb_fs.h
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smp.h
smp_lock.h
snmp.h [SNMP]: Add definitions for {In,Out}BcastPkts 2007-04-30 00:58:19 -07:00
socket.h [AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both 2007-04-26 15:48:28 -07:00
sockios.h
som.h
sonet.h
sony-laptop.h sony-laptop: add a meye-usable include file for camera ops 2007-04-28 22:06:01 -04:00
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h [PATCH] timer/hrtimer: take per cpu locks in sane order 2007-03-05 07:57:53 -08:00
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
srcu.h
stacktrace.h
stallion.h
start_kernel.h
stat.h [NET]: Revert socket.h/stat.h ifdef hacks. 2007-02-28 09:41:59 -08:00
statfs.h
stddef.h
stop_machine.h
string.h [STRING]: Move strcasecmp/strncasecmp to lib/string.c 2007-04-26 01:54:39 -07:00
stringify.h
superhyway.h
suspend.h
svga.h [PATCH] fbdev driver for S3 Trio/Virge 2007-02-12 09:48:41 -08:00
swap.h
swapops.h [PATCH] mincore warning fix 2007-02-20 17:10:13 -08:00
synclink.h
sys.h
syscalls.h
sysctl.h [NETFILTER]: bridge-nf: filter bridged IPv4/IPv6 encapsulated in pppoe traffic 2007-04-25 22:28:57 -07:00
sysdev.h
sysfs.h device_schedule_callback() needs a module reference 2007-04-27 10:57:32 -07:00
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h Taskstats fix the structure members alignment issue 2007-04-24 08:23:08 -07:00
taskstats_kern.h
tc.h
tcp.h [SK_BUFF]: Introduce skb_transport_header(skb) 2007-04-25 22:25:31 -07:00
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thread_info.h
threads.h
ticable.h
tick.h [PATCH] Add debugging feature /proc/timer_list 2007-02-16 08:13:59 -08:00
tifm.h tifm: layout fixes, small changes to comments and printfs 2007-05-01 13:04:15 +02:00
time.h [PATCH] GTOD: persistent clock support 2007-02-16 08:13:57 -08:00
timer.h [PATCH] Add debugging feature /proc/timer_stat 2007-02-16 08:13:59 -08:00
times.h
timex.h [PATCH] HZ free ntp 2007-02-16 08:13:56 -08:00
tiocl.h
tipc.h
tipc_config.h
topology.h [PATCH] sched: remove SMT nice 2007-03-05 07:57:51 -08:00
toshiba.h [PATCH] proper prototype for tosh_smm() 2007-02-12 09:48:42 -08:00
transport_class.h
trdevice.h
tsacct_kern.h
tty.h [PATCH] tty: update the tty layer to work with struct pid 2007-02-12 09:48:32 -08:00
tty_driver.h
tty_flip.h
tty_ldisc.h
types.h
uaccess.h
udf_fs.h
udf_fs_i.h
udf_fs_sb.h
udp.h [SK_BUFF]: Introduce skb_transport_header(skb) 2007-04-25 22:25:31 -07:00
ufs_fs.h [PATCH] ufs2: more correct work with time 2007-03-16 19:25:03 -07:00
ufs_fs_i.h [PATCH] ufs2 write: block allocation update 2007-02-12 09:48:40 -08:00
ufs_fs_sb.h [PATCH] export ufs_fs.h to userspace 2007-02-12 09:48:30 -08:00
uinput.h
uio.h
ultrasound.h
umem.h
un.h
unistd.h
unwind.h
usb.h USB: add "last_busy" field for use in autosuspend 2007-04-27 13:28:39 -07:00
usb_gadget.h
usb_gadgetfs.h
usb_usual.h USB Storage: indistinguishable devices with broken and unbroken firmware 2007-02-16 15:32:19 -08:00
usbdevice_fs.h USB: use __u32 rather than u32 in userspace ioctls in usbdevice_fs.h 2007-02-16 15:32:20 -08:00
user.h
utime.h
uts.h
utsname.h [PATCH] utsns: fix !CONFIG_UTS_NS behavior 2007-03-27 09:05:15 -07:00
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev.h
videodev2.h V4L/DVB (5306): Add support for VIDIOC_G_CHIP_IDENT 2007-04-27 15:43:27 -03:00
videotext.h
vmalloc.h
vmstat.h
vt.h
vt_buffer.h
vt_kern.h [PATCH] swsusp: fix suspend when console is in VT_AUTO+KD_GRAPHICS mode 2007-03-16 19:25:05 -07:00
wait.h
wanrouter.h
watchdog.h
wireless.h [PATCH] Update my email address from jkmaline@cc.hut.fi to j@w1.fi 2007-04-28 11:01:01 -04:00
workqueue.h [WORKQUEUE]: cancel_delayed_work: use del_timer() instead of del_timer_sync() 2007-04-26 15:45:32 -07:00
writeback.h NFS: Fix a race when doing NFS write coalescing 2007-04-30 22:17:06 -07:00
x25.h
xattr.h
xfrm.h [XFRM] SPD info TLV aggregation 2007-05-04 12:55:39 -07:00
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h