mirror_ubuntu-kernels/include/linux
Frank Mayhar f06febc96b timers: fix itimer/many thread hang
Overview

This patch reworks the handling of POSIX CPU timers, including the
ITIMER_PROF, ITIMER_VIRT timers and rlimit handling.  It was put together
with the help of Roland McGrath, the owner and original writer of this code.

The problem we ran into, and the reason for this rework, has to do with using
a profiling timer in a process with a large number of threads.  It appears
that the performance of the old implementation of run_posix_cpu_timers() was
at least O(n*3) (where "n" is the number of threads in a process) or worse.
Everything is fine with an increasing number of threads until the time taken
for that routine to run becomes the same as or greater than the tick time, at
which point things degrade rather quickly.

This patch fixes bug 9906, "Weird hang with NPTL and SIGPROF."

Code Changes

This rework corrects the implementation of run_posix_cpu_timers() to make it
run in constant time for a particular machine.  (Performance may vary between
one machine and another depending upon whether the kernel is built as single-
or multiprocessor and, in the latter case, depending upon the number of
running processors.)  To do this, at each tick we now update fields in
signal_struct as well as task_struct.  The run_posix_cpu_timers() function
uses those fields to make its decisions.

We define a new structure, "task_cputime," to contain user, system and
scheduler times and use these in appropriate places:

struct task_cputime {
	cputime_t utime;
	cputime_t stime;
	unsigned long long sum_exec_runtime;
};

This is included in the structure "thread_group_cputime," which is a new
substructure of signal_struct and which varies for uniprocessor versus
multiprocessor kernels.  For uniprocessor kernels, it uses "task_cputime" as
a simple substructure, while for multiprocessor kernels it is a pointer:

struct thread_group_cputime {
	struct task_cputime totals;
};

struct thread_group_cputime {
	struct task_cputime *totals;
};

We also add a new task_cputime substructure directly to signal_struct, to
cache the earliest expiration of process-wide timers, and task_cputime also
replaces the it_*_expires fields of task_struct (used for earliest expiration
of thread timers).  The "thread_group_cputime" structure contains process-wide
timers that are updated via account_user_time() and friends.  In the non-SMP
case the structure is a simple aggregator; unfortunately in the SMP case that
simplicity was not achievable due to cache-line contention between CPUs (in
one measured case performance was actually _worse_ on a 16-cpu system than
the same test on a 4-cpu system, due to this contention).  For SMP, the
thread_group_cputime counters are maintained as a per-cpu structure allocated
using alloc_percpu().  The timer functions update only the timer field in
the structure corresponding to the running CPU, obtained using per_cpu_ptr().

We define a set of inline functions in sched.h that we use to maintain the
thread_group_cputime structure and hide the differences between UP and SMP
implementations from the rest of the kernel.  The thread_group_cputime_init()
function initializes the thread_group_cputime structure for the given task.
The thread_group_cputime_alloc() is a no-op for UP; for SMP it calls the
out-of-line function thread_group_cputime_alloc_smp() to allocate and fill
in the per-cpu structures and fields.  The thread_group_cputime_free()
function, also a no-op for UP, in SMP frees the per-cpu structures.  The
thread_group_cputime_clone_thread() function (also a UP no-op) for SMP calls
thread_group_cputime_alloc() if the per-cpu structures haven't yet been
allocated.  The thread_group_cputime() function fills the task_cputime
structure it is passed with the contents of the thread_group_cputime fields;
in UP it's that simple but in SMP it must also safely check that tsk->signal
is non-NULL (if it is it just uses the appropriate fields of task_struct) and,
if so, sums the per-cpu values for each online CPU.  Finally, the three
functions account_group_user_time(), account_group_system_time() and
account_group_exec_runtime() are used by timer functions to update the
respective fields of the thread_group_cputime structure.

Non-SMP operation is trivial and will not be mentioned further.

The per-cpu structure is always allocated when a task creates its first new
thread, via a call to thread_group_cputime_clone_thread() from copy_signal().
It is freed at process exit via a call to thread_group_cputime_free() from
cleanup_signal().

All functions that formerly summed utime/stime/sum_sched_runtime values from
from all threads in the thread group now use thread_group_cputime() to
snapshot the values in the thread_group_cputime structure or the values in
the task structure itself if the per-cpu structure hasn't been allocated.

Finally, the code in kernel/posix-cpu-timers.c has changed quite a bit.
The run_posix_cpu_timers() function has been split into a fast path and a
slow path; the former safely checks whether there are any expired thread
timers and, if not, just returns, while the slow path does the heavy lifting.
With the dedicated thread group fields, timers are no longer "rebalanced" and
the process_timer_rebalance() function and related code has gone away.  All
summing loops are gone and all code that used them now uses the
thread_group_cputime() inline.  When process-wide timers are set, the new
task_cputime structure in signal_struct is used to cache the earliest
expiration; this is checked in the fast path.

Performance

The fix appears not to add significant overhead to existing operations.  It
generally performs the same as the current code except in two cases, one in
which it performs slightly worse (Case 5 below) and one in which it performs
very significantly better (Case 2 below).  Overall it's a wash except in those
two cases.

I've since done somewhat more involved testing on a dual-core Opteron system.

Case 1: With no itimer running, for a test with 100,000 threads, the fixed
	kernel took 1428.5 seconds, 513 seconds more than the unfixed system,
	all of which was spent in the system.  There were twice as many
	voluntary context switches with the fix as without it.

Case 2: With an itimer running at .01 second ticks and 4000 threads (the most
	an unmodified kernel can handle), the fixed kernel ran the test in
	eight percent of the time (5.8 seconds as opposed to 70 seconds) and
	had better tick accuracy (.012 seconds per tick as opposed to .023
	seconds per tick).

Case 3: A 4000-thread test with an initial timer tick of .01 second and an
	interval of 10,000 seconds (i.e. a timer that ticks only once) had
	very nearly the same performance in both cases:  6.3 seconds elapsed
	for the fixed kernel versus 5.5 seconds for the unfixed kernel.

With fewer threads (eight in these tests), the Case 1 test ran in essentially
the same time on both the modified and unmodified kernels (5.2 seconds versus
5.8 seconds).  The Case 2 test ran in about the same time as well, 5.9 seconds
versus 5.4 seconds but again with much better tick accuracy, .013 seconds per
tick versus .025 seconds per tick for the unmodified kernel.

Since the fix affected the rlimit code, I also tested soft and hard CPU limits.

Case 4: With a hard CPU limit of 20 seconds and eight threads (and an itimer
	running), the modified kernel was very slightly favored in that while
	it killed the process in 19.997 seconds of CPU time (5.002 seconds of
	wall time), only .003 seconds of that was system time, the rest was
	user time.  The unmodified kernel killed the process in 20.001 seconds
	of CPU (5.014 seconds of wall time) of which .016 seconds was system
	time.  Really, though, the results were too close to call.  The results
	were essentially the same with no itimer running.

Case 5: With a soft limit of 20 seconds and a hard limit of 2000 seconds
	(where the hard limit would never be reached) and an itimer running,
	the modified kernel exhibited worse tick accuracy than the unmodified
	kernel: .050 seconds/tick versus .028 seconds/tick.  Otherwise,
	performance was almost indistinguishable.  With no itimer running this
	test exhibited virtually identical behavior and times in both cases.

In times past I did some limited performance testing.  those results are below.

On a four-cpu Opteron system without this fix, a sixteen-thread test executed
in 3569.991 seconds, of which user was 3568.435s and system was 1.556s.  On
the same system with the fix, user and elapsed time were about the same, but
system time dropped to 0.007 seconds.  Performance with eight, four and one
thread were comparable.  Interestingly, the timer ticks with the fix seemed
more accurate:  The sixteen-thread test with the fix received 149543 ticks
for 0.024 seconds per tick, while the same test without the fix received 58720
for 0.061 seconds per tick.  Both cases were configured for an interval of
0.01 seconds.  Again, the other tests were comparable.  Each thread in this
test computed the primes up to 25,000,000.

I also did a test with a large number of threads, 100,000 threads, which is
impossible without the fix.  In this case each thread computed the primes only
up to 10,000 (to make the runtime manageable).  System time dominated, at
1546.968 seconds out of a total 2176.906 seconds (giving a user time of
629.938s).  It received 147651 ticks for 0.015 seconds per tick, still quite
accurate.  There is obviously no comparable test without the fix.

Signed-off-by: Frank Mayhar <fmayhar@google.com>
Cc: Roland McGrath <roland@redhat.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-09-14 16:25:35 +02:00
..
amba
byteorder endian: Always evaluate arguments. 2008-07-25 09:28:09 -07:00
can
dvb V4L/DVB (7293): DMX_OUT_TSDEMUX_TAP: record two streams from same mux, resend 2008-04-24 14:07:46 -03:00
hdlc
i2c gpio: max732x driver 2008-07-25 10:53:30 -07:00
isdn
lockd lockd: Pass "struct sockaddr *" to new failover-by-IP function 2008-07-15 16:11:29 -04:00
mfd mfd: tc6393 cleanup and update 2008-08-10 23:32:07 +02:00
mlx4 mlx4_core: Add ethernet fields to CQE struct 2008-08-06 20:14:06 -07:00
mmc mmc: Add per-card debugfs support 2008-07-27 01:26:17 +02:00
mtd [MTD] MTD_DEBUG always does compile-time typechecks 2008-07-30 14:21:05 +01:00
netfilter netfilter: nf_conntrack_tcp: decrease timeouts while data in unacknowledged 2008-07-31 00:38:01 -07:00
netfilter_arp netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__ 2008-05-21 14:08:38 -07:00
netfilter_bridge netfilter: ebtables: add IPv6 support 2008-06-09 15:55:45 -07:00
netfilter_ipv4 netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__ 2008-05-21 14:08:38 -07:00
netfilter_ipv6 netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__ 2008-05-21 14:08:38 -07:00
nfsd remove unused #include <linux/dirent.h>'s 2008-07-25 10:53:34 -07:00
raid md: delay notification of 'active_idle' to the recovery thread 2008-07-23 13:09:48 -07:00
regulator regulator: TI bq24022 Li-Ion Charger driver 2008-07-30 10:10:23 +01:00
rtc
spi spi: new orion_spi driver 2008-08-05 14:33:46 -07:00
ssb dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
sunrpc svcrdma: Fix race between svc_rdma_recvfrom thread and the dto_tasklet 2008-08-13 16:57:31 -04:00
tc_act
tc_ematch
unaligned kernel: add common infrastructure for unaligned access 2008-04-29 08:06:27 -07:00
usb usb: musb: pass configuration specifics via pdata 2008-08-13 17:33:01 -07:00
8250_pci.h
a.out.h Remove #ifdef CONFIG_ARCH_SUPPORTS_AOUT from <linux/a.out.h> 2008-06-16 10:20:58 -07:00
ac97_codec.h
acct.h bsdacct: switch from global bsd_acct_struct instance to per-pidns one 2008-07-25 10:53:47 -07:00
acpi_pmtmr.h
acpi.h pm: acpi hibernation: utilize hardware signature 2008-07-24 10:47:24 -07:00
adb.h drivers/macintosh: Various cleanups 2008-07-01 11:28:06 +10:00
adfs_fs_i.h
adfs_fs_sb.h
adfs_fs.h
aer.h PCI: #if 0 pci_cleanup_aer_correct_error_status() 2008-04-20 21:47:02 -07:00
affs_hardblocks.h
agp_backend.h intel/agp: rewrite GTT on resume 2008-08-12 10:13:38 +10:00
agpgart.h agp: more boolean conversions. 2008-06-19 10:42:17 +10:00
aio_abi.h
aio.h include/linux/aio.h: removed duplicated include 2008-07-26 12:00:04 -07:00
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h flag parameters: anon_inode_getfd extension 2008-07-24 10:47:27 -07:00
apm_bios.h
apm-emulation.h
arcdevice.h drivers/net/arcnet/arcnet.c: use time_* macros 2008-03-28 22:14:15 -04:00
arcfb.h
async_tx.h async_tx: remove depend_tx from async_tx_sync_epilog 2008-07-17 17:59:55 -07:00
ata_platform.h sata_mv: mbus decode window support 2008-03-27 14:51:39 -04:00
ata.h [libata] LBA28/LBA48 off-by-one bug in ata.h 2008-09-13 16:46:15 -04:00
atalk.h [NET]: include/linux/atalk.h - remove duplicate include 2008-03-23 22:04:31 -07:00
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h atm: Cleanup atm_tcp.h and atm.h for userspace. 2008-05-14 23:24:09 -07:00
atm_zatm.h
atm.h atm: Cleanup atm_tcp.h and atm.h for userspace. 2008-05-14 23:24:09 -07:00
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h atmel_tc library 2008-03-04 13:41:23 +01:00
atmel-pwm-bl.h fbdev: LCD backlight driver using Atmel PWM driver 2008-07-24 10:47:41 -07:00
atmel-ssc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h SCSI: convert struct class_device to struct device 2008-04-19 19:10:33 -07:00
audit.h remove the v850 port 2008-07-24 10:47:24 -07:00
auto_fs4.h autofs4: remove unused ioctls 2008-07-24 10:47:33 -07:00
auto_fs.h
auxvec.h ELF loader support for auxvec base platform string 2008-07-25 15:44:39 +10:00
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h mm: bdi: export bdi_writeout_inc() 2008-04-30 08:29:50 -07:00
backlight.h
baycom.h
bcd.h rtc: BCD codeshrink 2008-07-24 10:47:33 -07:00
bfs_fs.h
binfmts.h security: protect legacy applications from executing with insufficient privilege 2008-07-24 10:47:22 -07:00
bio.h block: integrity cleanups 2008-07-03 13:21:14 +02:00
bit_spinlock.h
bitmap.h seq_file: add seq_cpumask(), seq_nodemask() 2008-08-12 16:07:30 -07:00
bitops.h bitops: remove "optimizations" 2008-04-29 08:11:16 -07:00
bitrev.h lib: export bitrev16 2008-06-06 11:29:10 -07:00
blkdev.h block: disable sysfs parts of the disk command filter 2008-09-11 14:20:23 +02:00
blkpg.h
blktrace_api.h Added in user-injected messages into blk traces 2008-07-03 13:21:12 +02:00
blockgroup_lock.h
bootmem.h page allocator: use no-panic variant of alloc_bootmem() in alloc_large_system_hash() 2008-08-12 16:07:27 -07:00
bottom_half.h
bpqether.h
brcmphy.h tg3: Add shmem options. 2008-05-29 01:38:46 -07:00
bsg.h [SCSI] bsg: add release callback support 2008-04-22 15:16:32 -05:00
buffer_head.h fs: rename buffer trylock 2008-08-04 21:56:09 -07:00
bug.h
byteorder.h byteorder: add include/linux/byteorder.h to define endian helpers 2008-08-12 16:07:30 -07:00
cache.h mm: move cache_line_size() to <linux/cache.h> 2008-04-28 08:58:19 -07:00
can.h
capability.h security: Fix setting of PF_SUPERPRIV by __capable() 2008-08-14 22:59:43 +10:00
capi.h
cciss_ioctl.h
cd1400.h
cdev.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
cdk.h
cdrom.h cdrom: make unregister_cdrom() return void 2008-04-21 09:50:08 +02:00
cfag12864b.h Miguel Ojeda has moved 2008-07-04 10:40:05 -07:00
cgroup_subsys.h cgroups: implement device whitelist 2008-04-29 08:06:09 -07:00
cgroup.h cgroup_clone: use pid of newly created task for new cgroup 2008-07-25 10:53:37 -07:00
cgroupstats.h
chio.h
circ_buf.h
clk.h
clockchips.h clockevents: prevent clockevent event_handler ending up handler_noop 2008-09-05 11:11:51 +02:00
clocksource.h ntp: handle leap second via timer 2008-05-01 08:03:59 -07:00
cm4000_cs.h
cn_proc.h
coda_cache.h
coda_fs_i.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
coda_linux.h [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
coda_psdev.h
coda.h coda: remove CODA_FS_OLD_API 2008-07-25 10:53:33 -07:00
coff.h
com20020.h
compat.h ntp: support for TAI 2008-05-01 08:03:59 -07:00
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc.h inlining: do not allow gcc below version 4 to optimize inlining 2008-04-30 08:42:49 -07:00
compiler-intel.h
compiler.h Move ACCESS_ONCE() to <linux/compiler.h> 2008-05-10 19:51:16 -07:00
completion.h completions: uninline try_wait_for_completion and completion_done 2008-08-15 08:35:44 -07:00
comstats.h
concap.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
configfs.h [PATCH] configfs: Convenience macros for attribute definition. 2008-07-31 16:21:13 -07:00
connector.h connector: add a BlackBoard user to connector 2008-07-30 09:41:45 -07:00
console_struct.h vt: fix background color on line feed 2008-04-29 08:06:06 -07:00
console.h xen: Enable console tty by default in domU if it's not a dummy 2008-05-27 10:11:36 +02:00
consolemap.h Make console charset translation optional 2008-06-04 14:56:12 +01:00
const.h
cpu.h workqueues: make get_online_cpus() useable for work->func() 2008-07-25 10:53:40 -07:00
cpufreq.h cpufreq acpi: only call _PPC after cpufreq ACPI init funcs got called already 2008-07-30 09:41:43 -07:00
cpuidle.h cpuidle acpi driver: fix oops on AC<->DC 2008-06-11 19:13:45 -04:00
cpumask.h cpumask: statement expressions confuse some versions of gcc 2008-07-30 10:35:49 -07:00
cpuset.h sched: arch_reinit_sched_domains() must destroy domains to force rebuild 2008-09-06 19:22:15 +02:00
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h crashdump: fix undefined reference to `elfcorehdr_addr' 2008-07-26 11:26:23 +02:00
crc7.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
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
cred.h CRED: Introduce credential access wrappers 2008-08-14 09:35:23 +10:00
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 [PATCH] change d_add_ci argument ordering 2008-08-25 01:18:05 -04: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 Move _RET_IP_ and _THIS_IP_ to include/linux/kernel.h 2008-07-05 13:10:50 -07:00
debugfs.h debugfs: Implement debugfs_remove_recursive() 2008-07-21 21:54:59 -07:00
debugobjects.h infrastructure to debug (dynamic) objects 2008-04-30 08:29:53 -07:00
delay.h x86: use cpu_khz for loops_per_jiffy calculation, cleanup 2008-06-24 13:53:46 +02:00
delayacct.h per-task-delay-accounting: add memory reclaim delay 2008-07-25 10:53:47 -07:00
device_cgroup.h cgroups: implement device whitelist 2008-04-29 08:06:09 -07:00
device-mapper.h dm: introduce merge_bvec_fn 2008-07-21 12:00:37 +01:00
device.h driver core: add init_name to struct device 2008-08-21 10:15:37 -07:00
devpts_fs.h devpts: factor out PTY index allocation 2008-04-30 08:29:48 -07:00
dio.h
dirent.h remove the in-kernel struct dirent{,64} 2008-07-25 10:53:34 -07:00
display.h
dlm_device.h dlm: linux/{dlm,dlm_device}.h: cleanup for userspace 2008-04-21 11:35:39 -05:00
dlm_netlink.h
dlm_plock.h dlm: move plock code from gfs2 2008-04-21 11:22:28 -05:00
dlm.h dlm: linux/{dlm,dlm_device}.h: cleanup for userspace 2008-04-21 11:35:39 -05:00
dlmconstants.h dlm: common max length definitions 2008-04-21 11:22:29 -05:00
dm9000.h dm9000: Support MAC address setting through platform data. 2008-08-07 02:22:54 -04:00
dm-dirty-log.h dm: move include files 2008-04-25 13:26:55 +01:00
dm-io.h dm: move include files 2008-04-25 13:26:55 +01:00
dm-ioctl.h dm: introduce merge_bvec_fn 2008-07-21 12:00:37 +01:00
dm-kcopyd.h dm: move include files 2008-04-25 13:26:55 +01:00
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 dma: add dma_*map*_attrs() interfaces 2008-04-29 08:06:11 -07:00
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 x86: configurable DMI scanning code 2008-04-28 08:58:30 -07:00
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 edac: fix module initialization on several modules 2nd time 2008-04-29 08:06:26 -07:00
edd.h
eeprom_93cx6.h
efi.h x86 boot: remove some unused extern function declarations 2008-05-25 10:55:10 +02:00
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 powerpc: Update for VSX core file and ptrace 2008-07-01 14:47:09 +10:00
elfcore-compat.h elfcore-compat fix uid/gid types 2008-02-29 08:06:37 -08:00
elfcore.h
elfnote.h
enclosure.h SCSI: convert struct class_device to struct device 2008-04-19 19:10:33 -07:00
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h ethtool: Expand ethtool_cmd.speed to 32 bits 2008-08-07 02:22:08 -04:00
eventfd.h flag parameters: NONBLOCK in eventfd 2008-07-24 10:47:29 -07:00
eventpoll.h flag parameters add-on: remove epoll_create size param 2008-07-24 10:47:29 -07:00
exportfs.h Reserve NFS fileid values for btrfs 2008-08-20 13:19:51 -07:00
ext2_fs_sb.h
ext2_fs.h ext2: fix typo in Hurd part of include/linux/ext2_fs.h 2008-07-25 10:53:31 -07:00
ext3_fs_i.h
ext3_fs_sb.h
ext3_fs.h ext3: handle corrupted orphan list at mount 2008-07-25 10:53:32 -07:00
ext3_jbd.h
f75375s.h
fadvise.h
falloc.h
fault-inject.h
fb.h fbdefio: add set_page_dirty handler to deferred IO FB 2008-08-20 15:40:32 -07:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdreg.h
fdtable.h [PATCH] dup_fd() fixes, part 1 2008-05-16 17:22:26 -04:00
fib_rules.h
file.h [PATCH] merge locate_fd() and get_unused_fd() 2008-08-01 11:25:23 -04:00
filter.h [SKFILTER]: Add SKF_ADF_NLATTR instruction 2008-04-10 02:02:28 -07:00
firewire-cdev.h
firewire-constants.h
firmware-map.h firmware/memmap: cleanup 2008-08-12 16:07:31 -07: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_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 [PATCH] kill altroot 2008-07-26 20:53:20 -04:00
fs_uart_pd.h removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
fs.h vfs: pagecache usage optimization for pagesize!=blocksize 2008-07-28 16:30:21 -07:00
fsl_devices.h gianfar: Add magic packet and suspend/resume support. 2008-07-16 17:57:47 -05:00
fsnotify.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
ftrace.h kexec jump: __ftrace_enabled_save/restore 2008-08-15 08:35:42 -07:00
fuse.h fuse: nfs export special lookups 2008-07-25 10:53:48 -07:00
futex.h
gameport.h Input: gameport - remove rescan/reconnect facilities 2008-05-16 14:50:42 -04:00
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 block: move cmdfilter from gendisk to request_queue 2008-08-27 09:50:19 +02:00
getcpu.h
gfp.h mm: add alloc_pages_exact() and free_pages_exact() 2008-07-24 10:47:20 -07:00
gfs2_ondisk.h
gigaset_dev.h
gpio_keys.h Input: gpio-keys debouncing support 2008-05-16 16:54:14 -04:00
gpio_mouse.h
gpio.h gpio: sysfs interface 2008-07-25 10:53:30 -07:00
hardirq.h BKL: revert back to the old spinlock implementation 2008-05-10 20:58:02 -07:00
hash.h
hayesesp.h esp: use tty_port 2008-07-20 17:12:36 -07:00
hdlc.h WAN: convert drivers to use built-in netdev_stats 2008-07-04 08:47:41 -04:00
hdlcdrv.h
hdpu_features.h
hdreg.h ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls (take 3) 2008-04-18 00:46:24 +02:00
hid-debug.h
hid.h HID: add n-trig digitizer usage 2008-07-23 15:25:21 +02:00
hiddev.h HID: remove CVS keywords 2008-05-20 16:44:43 +02:00
hidraw.h HID: export headers properly 2008-04-22 11:34:59 +02:00
highmem.h
highuid.h
hil_mlc.h Convert asm/semaphore.h users to linux/semaphore.h 2008-04-18 22:22:54 -04:00
hil.h
hippidevice.h
hp_sdc.h
hpet.h x86: revert assign IRQs to hpet timer 2008-04-04 18:36:49 +02:00
hrtimer.h hrtimer: remove duplicate helper function 2008-05-03 18:11:48 +02:00
htirq.h
hugetlb.h hugetlb: remove unused variable warning 2008-07-26 20:16:47 -07:00
hw_random.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h i2c-algo-pca: Extend for future drivers 2008-04-22 22:16:46 +02:00
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 matrox maven: convert to a new-style i2c driver 2008-08-12 16:07:29 -07:00
i2c-ocores.h
i2c-pca-platform.h i2c: Add platform driver on top of the new pca-algorithm 2008-04-22 22:16:46 +02:00
i2c-pnx.h [ARM] fix pnx4008 build errors 2008-08-08 15:13:27 +01:00
i2c-pxa.h
i2c.h i2c: Add missing kerneldoc descriptions 2008-08-28 08:33:23 +02:00
i2o-dev.h
i2o.h dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
i8k.h
i8042.h
ibmtr.h
icmp.h
icmpv6.h [IPV6]: Fix powerpc allmodconfig build warnings. 2008-03-05 20:58:10 -08:00
ide.h ide: fix hwif_to_node() 2008-09-02 20:18:47 +02:00
idr.h idr: make idr_find rcu-safe 2008-07-25 10:53:42 -07:00
ieee80211.h mac80211: pass dtim_period to low level driver 2008-08-04 15:09:07 -04:00
if_addr.h
if_addrlabel.h
if_arcnet.h
if_arp.h [ARP]: Introduce the arp_hdr_len helper. 2008-03-03 12:20:57 -08:00
if_bonding.h
if_bridge.h net: remove CVS keywords 2008-06-11 21:00:38 -07:00
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 Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
if_packet.h packet: add PACKET_RESERVE sockopt 2008-07-18 18:05:19 -07:00
if_plip.h
if_ppp.h net: remove CVS keywords 2008-06-11 21:00:38 -07:00
if_pppol2tp.h
if_pppox.h include: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:16:54 -04:00
if_slip.h
if_strip.h
if_tr.h
if_tun.h tun: TUNGETIFF interface to query name and flags 2008-08-15 19:52:19 -07:00
if_tunnel.h ipv6 sit: Avoid extra need for compat layer in PRL management. 2008-06-16 16:48:20 -07:00
if_vlan.h vlan: Don't store VLAN tag in cb 2008-07-14 22:49:06 -07:00
if.h
igmp.h ipv4: Do cleanup for ip_mr_init 2008-07-03 17:51:57 +09:00
ihex.h Fix IHEX firmware generation/loading 2008-08-02 18:36:10 +01:00
in6.h [IPV6]: Define constants for link-local multicast addresses. 2008-04-12 13:43:19 +09:00
in_route.h route: Mark unused route cache flags as such. 2008-06-03 16:36:01 -07:00
in.h [IPV4]: ipv4_is_lbcast() misannotations 2008-03-17 22:48:46 -07:00
inet_diag.h
inet_lro.h net/inet_lro: remove setting skb->ip_summed when not LRO-able 2008-06-27 20:09:00 -07:00
inet.h NFS: Add string length argument to nfs_parse_server_address 2008-07-09 12:09:28 -04:00
inetdevice.h route: Remove unused ifa_anycast field 2008-06-03 16:37:33 -07:00
init_ohci1394_dma.h
init_task.h introduce PF_KTHREAD flag 2008-07-25 10:53:39 -07:00
init.h modules: extend initcall_debug functionality to the module loader 2008-08-12 17:52:54 +10:00
initrd.h
inotify.h flag parameters: NONBLOCK in inotify_init 2008-07-24 10:47:29 -07:00
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 Remove the deprecated cli() sti() functions 2008-08-05 14:33:48 -07:00
io.h [POWERPC] devres: Add devm_ioremap_prot() 2008-05-05 16:47:14 +10:00
ioc3.h
ioc4.h
iocontext.h block: blkdev.h cleanup, move iocontext stuff to iocontext.h 2008-07-03 13:21:14 +02:00
ioctl.h
iommu-helper.h generic, x86: fix add iommu_num_pages helper function 2008-07-29 12:12:48 +02:00
ioport.h include/linux/ioport.h: add missing macro argument for devm_release_* family 2008-09-13 14:41:50 -07:00
ioprio.h cfq-iosched: make io priorities inherit CPU scheduling class as well as nice 2008-05-07 09:51:23 +02:00
ip6_tunnel.h net: remove CVS keywords 2008-06-11 21:00:38 -07:00
ip_vs.h ipvs: Move userspace definitions to include/linux/ip_vs.h 2008-07-31 20:45:24 -07:00
ip.h
ipc_namespace.h ipc: do not use a negative value to re-enable msgmni automatic recomputing 2008-07-25 10:53:42 -07:00
ipc.h
ipmi_msgdefs.h
ipmi_smi.h ipmi: remove ->write_proc code 2008-04-29 08:06:15 -07:00
ipmi.h ipmi: make comment match actual preprocessor check 2008-04-29 08:06:15 -07:00
ipsec.h
ipv6_route.h
ipv6.h ipv6: __KERNEL__ ifdef struct ipv6_devconf 2008-07-21 13:41:16 -07:00
ipx.h
irda.h
irq_cpustat.h
irq.h genirq: Expose default irq affinity mask (take 3) 2008-06-05 15:18:30 +02:00
irqflags.h locking: add typecheck on irqsave and friends for correct flags 2008-07-25 10:53:26 -07:00
irqreturn.h
isa.h
isapnp.h ISAPNP: move config register addresses out of isapnp.h 2008-04-29 03:22:15 -04:00
iscsi_ibft.h Firmware: add iSCSI iBFT Support 2008-04-19 19:10:28 -07:00
isdn_divertif.h
isdn_ppp.h
isdn.h [ISDN] include/linux/isdn.h: remove dead code 2008-04-15 00:30:16 -07:00
isdnif.h
isicom.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
iso_fs.h
istallion.h istallion: use tty_port 2008-07-20 17:12:37 -07:00
ivtv.h Fix header export of videodev2.h, ivtv.h, ivtvfb.h 2008-08-16 16:46:57 -07:00
ivtvfb.h Fix header export of videodev2.h, ivtv.h, ivtvfb.h 2008-08-16 16:46:57 -07:00
ixjuser.h
jbd2.h jbd2: Remove data=ordered mode support using jbd buffer heads 2008-07-11 19:27:31 -04:00
jbd.h include: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:16:54 -04:00
jffs2.h MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
jhash.h
jiffies.h remove div_long_long_rem 2008-05-01 08:03:58 -07:00
journal-head.h
joystick.h Input: remove CVS keywords 2008-05-20 12:17:39 -04:00
kallsyms.h print_ip_sym(): use %pS 2008-07-30 09:41:45 -07:00
kbd_diacr.h
kbd_kern.h
Kbuild Fix conditional export of kvh.h and a.out.h to userspace. 2008-09-05 15:44:31 +01:00
kbuild.h Add kbuild.h that contains common definitions for kbuild users 2008-04-29 08:06:29 -07:00
kd.h
kdebug.h
kdev_t.h
kernel_stat.h x86: resize NR_IRQS for large machines 2008-05-12 21:28:05 +02:00
kernel.h move kernel-doc comment for might_sleep directly before its defining block 2008-08-12 16:07:29 -07:00
kernelcapi.h include: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:16:54 -04:00
kexec.h kexec jump: rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE 2008-08-15 08:35:42 -07:00
key-type.h
key-ui.h
key.h keys: make key_serial() a function if CONFIG_KEYS=y 2008-04-29 08:06:17 -07:00
keyboard.h Input: put ledstate in the keyboard notifier 2008-04-15 01:30:32 -04:00
keyctl.h keys: add keyctl function to get a security label 2008-04-29 08:06:16 -07:00
kfifo.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
kgdb.h kgdb: fix signedness mixmatches, add statics, add declaration to header 2008-05-05 07:13:21 -05:00
klist.h klist: fix coding style errors in klist.h and klist.c 2008-04-30 16:52:58 -07:00
kmalloc_sizes.h
kmod.h call_usermodehelper(): increase reliability 2008-07-25 10:53:28 -07:00
kobj_map.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
kobject.h mm: create /sys/kernel/mm 2008-07-24 10:47:17 -07:00
kprobes.h kprobes: improve kretprobe scalability with hashed locking 2008-07-25 10:53:30 -07:00
kref.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
ks0108.h Miguel Ojeda has moved 2008-07-04 10:40:05 -07:00
kthread.h Label kthread_create() with printf attribute tag. 2008-07-24 19:11:15 -07:00
ktime.h time: add ns_to_ktime() 2008-04-19 19:44:57 +02:00
kvm_host.h KVM: Synchronize guest physical memory map to host virtual memory map 2008-07-29 12:33:53 +03:00
kvm_para.h KVM: MMU: hypercall based pte updates and TLB flushes 2008-04-27 12:00:27 +03:00
kvm_types.h KVM: MMU: Don't assume struct page for x86 2008-04-27 12:01:15 +03:00
kvm.h KVM: fix userspace ABI breakage 2008-08-25 17:28:25 +03:00
lapb.h
latencytop.h
lcd.h lcd: add lcd_device to check_fb() entry in lcd_ops 2008-07-24 10:47:40 -07:00
leds-pca9532.h leds: Add pca9532 led driver 2008-07-23 09:49:56 +01:00
leds.h leds: Add support for Philips PCA955x I2C LED drivers 2008-07-23 09:49:56 +01:00
lguest_launcher.h lguest: comment documentation update. 2008-03-28 11:05:54 +11:00
lguest.h
libata.h libata: Fix a large collection of DMA mode mismatches 2008-08-22 02:27:49 -04:00
libps2.h Input: libps2 - remove delayed command execution 2008-05-16 14:50:49 -04:00
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 debugobjects: fix lockdep warning 2008-09-01 09:47:16 +02:00
llc.h
lm_interface.h [GFS2] Remove obsolete conversion deadlock avoidance code 2008-06-27 09:39:47 +01:00
lmb.h [POWERPC] Provide walk_memory_resource() for powerpc 2008-04-29 15:57:53 +10:00
lockdep.h lockdep: increase MAX_LOCKDEP_KEYS 2008-08-11 15:25:07 +02:00
log2.h
loop.h
lp.h
lzo.h
m48t86.h
magic.h
major.h video/fb: cleanup FB_MAJOR usage 2008-07-24 10:47:41 -07:00
maple.h maple: Kill useless private_data pointer. 2008-08-04 10:58:24 +09:00
marker.h Markers - define non optimized marker 2008-05-23 22:26:03 +02:00
math64.h add an inlined version of iter_div_u64_rem 2008-06-12 10:47:58 +02:00
matroxfb.h
mbcache.h vfs: fix possible deadlock in ext2, ext3, ext4 when using xattrs 2008-04-15 19:35:41 -07:00
mbus.h introduce mbus DRAM target info abstraction 2008-03-27 14:51:39 -04:00
mc6821.h
mc146818rtc.h
mca-legacy.h remove mca_is_adapter_used() 2008-04-29 08:06:01 -07:00
mca.h
mdio-bitbang.h
memcontrol.h memcg: helper function for relcaim from shmem. 2008-07-25 10:53:37 -07:00
memory_hotplug.h memory-hotplug: add sysfs removable attribute for hotplug memory remove 2008-07-24 10:47:21 -07:00
memory.h ipc: recompute msgmni on memory add / remove 2008-04-29 08:06:12 -07:00
mempolicy.h mm: make CONFIG_MIGRATION available w/o CONFIG_NUMA 2008-07-24 10:47:21 -07:00
mempool.h
memstick.h memstick: fix MSProHG 8-bit interface mode support 2008-09-13 14:41:52 -07:00
meye.h V4L/DVB (7204): remove V4L2_CID_SHARPNESS from meye.h and report private control as DISABLED 2008-04-24 14:07:43 -03:00
migrate.h mm: make CONFIG_MIGRATION available w/o CONFIG_NUMA 2008-07-24 10:47:21 -07:00
mii.h
minix_fs.h
miscdevice.h PM: Remove destroy_suspended_device() 2008-04-19 19:10:28 -07:00
mISDNdsp.h Add mISDN DSP 2008-07-27 01:56:38 +02:00
mISDNhw.h Add mISDN core files 2008-07-27 01:54:58 +02:00
mISDNif.h mISDN cleanup user interface 2008-08-02 16:28:50 +02:00
mm_inline.h
mm_types.h mm: VM_flags comment fixes 2008-08-16 16:45:56 -07:00
mm.h mm: VM_flags comment fixes 2008-08-16 16:45:56 -07:00
mman.h mm: Allow architectures to define additional protection bits 2008-07-09 16:30:45 +10:00
mmiotrace.h mmiotrace: rename kmmio_probe::user_data to :private. 2008-05-24 11:27:41 +02:00
mmtimer.h
mmu_notifier.h mmu-notifiers: core 2008-07-28 16:30:21 -07:00
mmzone.h mm: mark the correct zone as full when scanning zonelists 2008-09-13 14:41:52 -07:00
mnt_namespace.h [patch 6/7] vfs: mountinfo: add /proc/<pid>/mountinfo 2008-04-23 00:05:03 -04:00
mod_devicetable.h [S390] css: Use css_device_id for bus matching. 2008-07-14 10:02:12 +02:00
module.h remove the v850 port 2008-07-24 10:47:24 -07:00
moduleloader.h
moduleparam.h
mount.h [PATCH] pass struct path * to do_add_mount() 2008-08-01 11:25:32 -04:00
mpage.h vfs: add hooks for ext4's delayed allocation support 2008-07-11 19:27:31 -04:00
mqueue.h
mroute6.h net: Unbreak userspace usage of linux/mroute.h 2008-08-29 14:37:23 -07:00
mroute.h net: Unbreak userspace usage of linux/mroute.h 2008-08-29 14:37:23 -07:00
msdos_fs.h fatfs: add UTC timestamp option 2008-07-25 10:53:34 -07:00
msg.h ipc: restore MSGPOOL original value 2008-06-06 11:29:12 -07:00
msi.h pci/irq: restore mask_bits in msi shutdown -v3 2008-04-29 09:11:12 -07:00
mtio.h [SCSI] st: add option to use SILI in variable block reads 2008-04-07 12:15:39 -05:00
mutex-debug.h
mutex.h
mv643xx_eth.h mv643xx_eth: allow multiple TX queues 2008-06-12 08:40:37 +02:00
mv643xx_i2c.h
mv643xx.h
n_r3964.h
namei.h [PATCH] get rid of __user_path_lookup_open 2008-07-26 20:53:41 -04:00
nbd.h nbd: delete superfluous test for __GNUC__ 2008-04-29 08:06:24 -07:00
ncp_fs_i.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
ncp_fs_sb.h
ncp_fs.h ncpfs: add prototypes to ncp_fs.h 2008-04-28 08:58:29 -07:00
ncp_mount.h
ncp_no.h
ncp.h
neighbour.h
net.h Fix userspace export of <linux/net.h> 2008-08-26 10:37:20 -07:00
netdevice.h net: Kill plain NET_XMIT_BYPASS. 2008-08-04 23:04:08 -07:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h netfilter: ip_tables: add iptables security table for mandatory access control rules 2008-06-09 15:57:24 -07:00
netfilter_ipv6.h netfilter: cleanup netfilter_ipv6.h userspace header 2008-07-08 02:36:40 -07:00
netfilter.h netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__ 2008-05-21 14:08:38 -07:00
netlink.h netlink: Remove nonblock parameter from netlink_attachskb 2008-06-05 11:23:39 -07:00
netpoll.h [NETPOLL]: Revert two bogus cleanups that broke netconsole. 2008-03-04 12:28:49 -08:00
netrom.h
nfs2.h
nfs3.h nfs: remove unnecessary NFS_NEED_* defines 2008-04-23 16:13:37 -04:00
nfs4_acl.h
nfs4_mount.h
nfs4.h nfsd: remove three unused NFS4_ACE_* defines 2008-06-23 13:02:48 -04:00
nfs_fs_i.h
nfs_fs_sb.h NFSv4: Reintroduce machine creds 2008-04-19 16:54:56 -04:00
nfs_fs.h [PATCH] get rid of indirect users of namei.h 2008-07-26 20:53:42 -04:00
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
nfs.h
nfsacl.h
nfsd_idmap.h
nl80211.h mac80211: Let drivers have access to TKIP key offets for TX and RX MIC 2008-06-27 09:09:17 -04:00
nls.h
nmi.h
node.h
nodemask.h mempolicy: add bitmap_onto() and bitmap_fold() operations 2008-04-28 08:58:19 -07:00
notifier.h workqueues: make get_online_cpus() useable for work->func() 2008-07-25 10:53:40 -07:00
nsc_gpio.h
nsproxy.h cgroup_clone: use pid of newly created task for new cgroup 2008-07-25 10:53:37 -07:00
nubus.h
numa.h
nvram.h
of_device.h [POWERPC] Move of_device_get_modalias to drivers/of 2008-05-16 23:22:28 +10:00
of_gpio.h of_gpio: Should use new <linux/gpio.h> header 2008-07-22 10:39:30 +10:00
of_i2c.h [POWERPC] Fix of_i2c include for module compilation 2008-05-09 20:22:58 +10:00
of_platform.h
of_spi.h spi: Add OF binding support for SPI busses 2008-07-25 22:34:40 -04:00
of.h of: adapt of_find_i2c_driver() to be usable by SPI also 2008-07-25 22:25:13 -04:00
oom.h mm: have zonelist contains structs with both a zone pointer and zone_idx 2008-04-28 08:58:18 -07:00
oprofile.h
page-flags.h mm: rename page trylock 2008-08-04 21:31:34 -07:00
page-isolation.h
pageblock-flags.h x86 boot: simplify pageblock_bits enum declaration 2008-05-25 10:55:11 +02:00
pagemap.h mm: rename page trylock 2008-08-04 21:31:34 -07:00
pagevec.h
param.h
parport_pc.h
parport.h parport/share.c: proper externs 2008-07-26 12:00:03 -07:00
parser.h Revert "UFS: add const to parser token table" 2008-08-04 16:50:38 -07:00
patchkey.h
path.h
pci_hotplug.h PCI: introduce pci_slot 2008-06-10 14:37:03 -07:00
pci_ids.h x86/PCI: irq and pci_ids patch for Intel Ibex Peak PCHs 2008-08-15 09:15:47 -07:00
pci_regs.h PCI: disable ASPM on pre-1.1 PCIe devices 2008-07-28 14:56:57 -07:00
pci-acpi.h PCI: add acpi_find_root_bridge_handle 2008-08-18 13:48:04 -07:00
pci-aspm.h PCI: disable ASPM per ACPI FADT setting 2008-07-28 14:56:09 -07:00
pci.h PCI PM: Export pci_pme_active to drivers 2008-08-07 15:33:36 -07:00
pcieport_if.h
pda_power.h pda_power: add init and exit function callbacks 2008-05-03 03:39:55 +04:00
percpu_counter.h percpu_counter: new function percpu_counter_sum_and_set 2008-07-11 19:27:31 -04:00
percpu.h mm/allocpercpu.c: make 4 functions static 2008-07-26 12:00:12 -07:00
personality.h Remove the macro get_personality 2008-04-29 08:06:02 -07:00
pfkeyv2.h
pfn.h
pg.h
phantom.h Misc: phantom, consistent whitespace 2008-04-29 08:06:02 -07:00
phonedev.h
phy_fixed.h
phy.h phylib: Fix some sparse warnings 2008-05-06 12:01:41 -04:00
pid_namespace.h pidns: add the struct bsd_acct_struct pointer on pid_namespace struct 2008-07-25 10:53:46 -07:00
pid.h fix setpriority(PRIO_PGRP) thread iterator breakage 2008-08-20 15:40:32 -07:00
pim.h net: Unbreak userspace usage of linux/mroute.h 2008-08-29 14:37:23 -07:00
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 Implement new suspend and hibernation callbacks for platform busses 2008-06-10 10:59:51 -07:00
plist.h
pm_qos_params.h pm_qos: spelling fixes 2008-08-05 14:33:50 -07:00
pm_wakeup.h PCI: include linux/pm_wakeup.h for device_set_wakeup_capable 2008-07-14 14:30:21 -07:00
pm.h pm: add new PM_EVENT codes for runtime power transitions 2008-07-24 10:47:23 -07:00
pmu.h [POWERPC] Fix drivers/macintosh/mediabay.c when !CONFIG_ADB_PMU 2008-03-13 10:09:27 +11:00
pnp.h PNP: convert resource options to single linked list 2008-07-16 23:27:07 +02:00
poison.h debugobjects: add timer specific object debugging code 2008-04-30 08:29:53 -07:00
poll.h [PATCH] make osf_select() use core_sys_select() 2008-05-01 13:07:28 -04:00
posix_acl_xattr.h
posix_acl.h
posix_types.h
posix-timers.h timers: fix itimer/many thread hang 2008-09-14 16:25:35 +02:00
power_supply.h power_supply: add CHARGE_COUNTER property and olpc_battery support for it 2008-05-13 12:27:11 +04:00
ppdev.h
ppp_channel.h
ppp_defs.h net: remove CVS keywords 2008-06-11 21:00:38 -07:00
ppp-comp.h net: remove CVS keywords 2008-06-11 21:00:38 -07:00
prctl.h capabilities: implement per-process securebits 2008-04-28 08:58:26 -07:00
preempt.h ftrace: trace preempt off critical timings 2008-05-23 20:32:54 +02:00
prefetch.h
prio_heap.h
prio_tree.h
proc_fs.h [PATCH] sanitize proc_sysctl 2008-07-26 20:53:12 -04:00
profile.h build-kernel-profileo-only-when-requested-cleanups 2008-07-25 10:53:27 -07:00
proportions.h mm: bdi: allow setting a maximum for the bdi dirty limit 2008-04-30 08:29:50 -07:00
ptrace.h tracehook: fix CLONE_PTRACE 2008-08-07 17:18:47 -07:00
pwm_backlight.h [ARM] 5044/1: pwm_bl: add init/notify/exit callbacks 2008-07-03 13:25:05 +01:00
pwm.h [ARM] pxa: Add bare bones PWM API 2008-05-19 16:25:39 +01:00
qnx4_fs.h
qnxtypes.h
quicklist.h mm: show quicklist usage in /proc/meminfo 2008-09-02 19:21:38 -07:00
quota.h quota: implement sending information via netlink about user below quota 2008-07-25 10:53:35 -07:00
quotaio_v1.h
quotaio_v2.h
quotaops.h [PATCH] fix races and leaks in vfs_quota_on() users 2008-08-01 11:25:25 -04:00
radeonfb.h
radix-tree.h radix-tree: add gang_lookup_slot, gang_lookup_slot_tag 2008-07-26 12:00:06 -07:00
raid_class.h SCSI: convert struct class_device to struct device 2008-04-19 19:10:33 -07:00
ramfs.h
random.h
ratelimit.h printk ratelimiting rewrite 2008-07-25 10:53:29 -07:00
raw.h
rbtree.h
rcuclassic.h lockdep: lock protection locks 2008-08-11 09:30:24 +02:00
rculist.h mmu-notifiers: add list_del_init_rcu() 2008-07-28 16:30:20 -07:00
rcupdate.h rcu: add rcu_barrier_sched() and rcu_barrier_bh() 2008-05-19 10:01:36 +02:00
rcupreempt_trace.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
rcupreempt.h printk ratelimiting rewrite 2008-07-25 10:53:29 -07:00
reboot.h kexec jump: remove duplication of kexec_restart_prepare() 2008-08-15 08:35:42 -07:00
reciprocal_div.h
regset.h
reiserfs_acl.h
reiserfs_fs_i.h
reiserfs_fs_sb.h reiserfs: convert j_commit_lock to mutex 2008-07-25 10:53:33 -07:00
reiserfs_fs.h include: use get/put_unaligned_* helpers 2008-07-25 10:53:26 -07:00
reiserfs_xattr.h [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
relay.h relay: add buffer-only channels; useful for early logging 2008-07-26 12:00:04 -07:00
res_counter.h res_counter: fix off-by-one bug in setting limit 2008-09-05 14:39:37 -07:00
resource.h add RUSAGE_THREAD 2008-04-29 08:05:59 -07:00
resume-trace.h x86: move tracedata to RODATA 2008-05-25 07:09:47 +02:00
rfkill.h rfkill: document the rfkill struct locking (v2) 2008-07-29 16:36:33 -04:00
rio_drv.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
rio_ids.h
rio_regs.h
rio.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-05-03 10:01:33 -07:00
rmap.h mm: dirty page tracking race fix 2008-08-20 15:40:32 -07:00
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc-v3020.h
rtc.h drivers/char/rtc.c: make 2 functions static 2008-07-26 12:00:12 -07:00
rtmutex.h
rtnetlink.h net: drop unused BUG_TRAP() 2008-07-25 21:45:49 -07:00
rwsem-spinlock.h
rwsem.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
rxrpc.h
sc26198.h
scatterlist.h sg: reimplement sg mapping iterator 2008-07-23 14:42:09 +02:00
scc.h
sched.h timers: fix itimer/many thread hang 2008-09-14 16:25:35 +02:00
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdla.h
seccomp.h
securebits.h security: filesystem capabilities: fix fragile setuid fixup code 2008-07-04 10:40:08 -07:00
security.h security.h: fix build failure 2008-08-17 22:47:30 +10:00
selection.h
selinux_netlink.h
selinux.h SELinux: use new audit hooks, remove redundant exports 2008-04-19 09:53:46 +10:00
sem.h ipc/sem.c: rewrite undo list locking 2008-07-25 10:53:42 -07:00
semaphore.h Remove __DECLARE_SEMAPHORE_GENERIC 2008-07-24 08:31:21 -04:00
seq_file_net.h proc: consolidate per-net single-release callers 2008-07-18 04:07:44 -07:00
seq_file.h seq_file: add seq_cpumask(), seq_nodemask() 2008-08-12 16:07:30 -07:00
seqlock.h seqlock: livelock fix 2008-04-25 00:25:08 +02:00
serial167.h
serial_8250.h sm501: add uart support 2008-04-28 08:58:32 -07:00
serial_core.h remove the v850 port 2008-07-24 10:47:24 -07:00
serial_pnx8xxx.h
serial_reg.h
serial_sci.h
serial.h
serialP.h
serio.h Input: serio - mark serio_register_driver() __must_check 2008-07-23 14:01:49 -04:00
shm.h
shmem_fs.h [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
signal.h kill_pid_info: don't take now unneeded tasklist_lock 2008-04-30 08:29:34 -07:00
signalfd.h flag parameters: NONBLOCK in signalfd 2008-07-24 10:47:29 -07:00
skbuff.h net: skb_copy_datagram_from_iovec() 2008-08-15 19:52:30 -07:00
slab_def.h slab - use angle brackets for include of kmalloc_sizes.h 2008-03-06 16:21:49 -08:00
slab.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-26 20:17:56 -07:00
slob_def.h
slub_def.h SLUB: dynamic per-cache MIN_PARTIAL 2008-08-05 09:28:47 +03:00
sm501-regs.h sm501: add support for the SM502 programmable PLL 2008-03-04 16:35:13 -08:00
sm501.h sm501: gpio I2C support 2008-07-25 10:53:30 -07:00
smb_fs_i.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
smb_fs_sb.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
smb_fs.h include: use get/put_unaligned_* helpers 2008-07-25 10:53:26 -07:00
smb_mount.h
smb.h smb.h: uses struct timespec but didn't include linux/time.h 2008-04-29 08:06:05 -07:00
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 smc911x: introduce platform data flags 2008-06-11 21:58:11 -04:00
smp_lock.h Add cycle_kernel_lock() 2008-06-20 14:05:53 -06:00
smp.h Full conversion to early_initcall() interface, remove old interface 2008-07-26 12:00:04 -07:00
snmp.h tcp: MD5: Use MIB counter instead of warning for MD5 mismatch. 2008-07-30 03:27:25 -07:00
socket.h Define AF_ISDN and PF_ISDN 2008-07-27 01:47:00 +02:00
sockios.h
som.h
sonet.h atm: [suni] add support for setting loopback and framing modes 2008-06-17 16:19:24 -07:00
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h lockdep: spin_lock_nest_lock() 2008-08-11 09:30:24 +02:00
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h lockdep: spin_lock_nest_lock() 2008-08-11 09:30:24 +02:00
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 stop_machine: Remove deprecated stop_machine_run 2008-08-26 00:19:27 +10:00
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_ioctls.h
suspend.h suspend: fix section mismatch warning - register_nosave_region 2008-08-15 08:35:42 -07:00
svga.h Remove "#ifdef __KERNEL__" checks from unexported headers 2008-04-30 08:29:54 -07:00
swab.h byteorder: add a new include/linux/swab.h to define byteswapping functions 2008-08-12 16:07:30 -07:00
swap.h mm/swapfile.c: make code static 2008-07-26 12:00:12 -07:00
swapops.h
synclink.h synclink_gt: add serial bit order control 2008-07-22 13:03:29 -07:00
sys.h
syscalls.h sys_paccept definition missing __user annotation 2008-07-25 17:28:49 -07:00
sysctl.h [PATCH] sanitize proc_sysctl 2008-07-26 20:53:12 -04:00
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 sysv fs: remove superfluous check for __GNUC__ compiler 2008-04-29 08:06:27 -07:00
task_io_accounting_ops.h task IO accounting: move all IO statistics in struct task_io_accounting 2008-07-27 16:12:28 -07:00
task_io_accounting.h task IO accounting: move all IO statistics in struct task_io_accounting 2008-07-27 16:12:28 -07:00
taskstats_kern.h
taskstats.h per-task-delay-accounting: update taskstats for memory reclaim delay 2008-07-25 10:53:47 -07:00
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_fsm.h
textsearch.h textsearch: convert kmalloc + memset to kzalloc 2008-07-08 02:38:40 -07:00
tfrc.h
thermal.h thermal: Create CONFIG_THERMAL_HWMON=n 2008-06-25 19:25:42 -04:00
thread_info.h signals: use HAVE_SET_RESTORE_SIGMASK 2008-04-30 08:29:37 -07:00
threads.h
tick.h nohz: fix wrong event handler after online an offlined cpu 2008-08-21 09:54:06 +02:00
tifm.h tifm: fix the MemoryStick host fifo handling code 2008-03-10 18:01:18 -07:00
time.h timers: fix itimer/many thread hang 2008-09-14 16:25:35 +02:00
timer.h debugobjects: add timer specific object debugging code 2008-04-30 08:29:53 -07:00
timerfd.h flag parameters: NONBLOCK in timerfd_create 2008-07-24 10:47:29 -07:00
times.h
timex.h ntp: handle leap second via timer 2008-05-01 08:03:59 -07:00
tiocl.h
tipc_config.h tipc: Fix skb_under_panic when configuring TIPC without privileges 2008-05-21 14:52:30 -07:00
tipc.h
topology.h cpu topology: always define CPU topology information 2008-06-13 10:09:46 +02:00
toshiba.h
tracehook.h tracehook: comment pasto fixes 2008-09-05 14:39:38 -07:00
transport_class.h SCSI: convert struct class_device to struct device 2008-04-19 19:10:33 -07:00
trdevice.h
tsacct_kern.h
tty_driver.h tty: remove resize window special case 2008-08-15 10:34:07 -07:00
tty_flip.h
tty_ldisc.h tty: Ldisc revamp 2008-07-20 17:12:34 -07:00
tty.h tty: remove resize window special case 2008-08-15 10:34:07 -07:00
typecheck.h split the typecheck macros out of include/linux/kernel.h 2008-07-25 10:53:26 -07:00
types.h types.h: don't expose struct ustat to userspace 2008-05-24 09:56:09 -07:00
uaccess.h uaccess: add probe_kernel_write() 2008-04-17 20:05:36 +02:00
udf_fs_i.h udf: move headers out include/linux/ 2008-04-17 14:22:23 +02:00
udp.h netns: introduce the net_hash_mix "salt" for hashes 2008-06-16 17:14:11 -07:00
uinput.h
uio_driver.h UIO: minor style and comment fixes 2008-07-21 21:54:55 -07:00
uio.h
ultrasound.h
un.h
unistd.h
unwind.h
usb_usual.h USB: mass storage: emulation of sat scsi_pass_thru with ATACB 2008-04-24 21:16:42 -07:00
usb.h USB: Defer Set-Interface for suspended devices 2008-08-21 10:26:36 -07:00
usbdevice_fs.h USB: remove CVS keywords 2008-07-21 15:15:55 -07:00
user_namespace.h
user.h
utime.h
uts.h
utsname.h
vermagic.h module: put modversions in vermagic 2008-05-09 07:45:18 -07:00
veth.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev2.h V4L/DVB (8832): gspca: Bad pixelformat of vc0321 webcams. 2008-09-03 18:37:45 -03:00
videodev.h V4L/DVB (8524): videodev: copy the VID_TYPE defines to videodev.h 2008-07-27 11:07:12 -03:00
videotext.h V4L/DVB (8500a): videotext.h: whitespace cleanup 2008-07-26 13:25:25 -03:00
virtio_9p.h virtio: clarify that ABI is usable by any implementations 2008-07-25 12:06:04 +10:00
virtio_balloon.h virtio: clarify that ABI is usable by any implementations 2008-07-25 12:06:04 +10:00
virtio_blk.h virtio_blk: check for hardsector size from host 2008-07-25 12:06:05 +10:00
virtio_config.h virtio: Rename set_features to finalize_features 2008-07-25 12:06:12 +10:00
virtio_console.h virtio: clarify that ABI is usable by any implementations 2008-07-25 12:06:04 +10:00
virtio_net.h virtio: clarify that ABI is usable by any implementations 2008-07-25 12:06:04 +10:00
virtio_pci.h virtio: clarify that ABI is usable by any implementations 2008-07-25 12:06:04 +10:00
virtio_ring.h virtio: Add transport feature handling stub for virtio_ring. 2008-07-25 12:06:14 +10:00
virtio_rng.h virtio: clarify that ABI is usable by any implementations 2008-07-25 12:06:04 +10:00
virtio.h virtio: explicit advertisement of driver features 2008-05-02 21:50:50 +10:00
vmalloc.h mm: VM_flags comment fixes 2008-08-16 16:45:56 -07:00
vmstat.h mm/vmstat.c: proper externs 2008-07-24 10:47:14 -07:00
vt_buffer.h
vt_kern.h tty: remove resize window special case 2008-08-15 10:34:07 -07:00
vt.h
w1-gpio.h
wait.h
wanrouter.h wanrouter: Fix ioctl handler declaration. 2008-05-29 01:43:48 -07:00
watchdog.h
wireless.h wext: Emit event stream entries correctly when compat. 2008-06-16 18:50:49 -07:00
wm97xx.h Input: wm9713 - support five wire panels 2008-05-27 01:37:26 -04:00
workqueue.h workqueues: implement flush_work() 2008-07-25 10:53:40 -07:00
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 xattr: add missing consts to function arguments 2008-04-29 08:06:06 -07:00
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_ids.h
zorro.h
zutil.h