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
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.h
pm: acpi hibernation: utilize hardware signature
2008-07-24 10:47:24 -07:00
acpi_pmtmr.h
adb.h
drivers/macintosh: Various cleanups
2008-07-01 11:28:06 +10:00
adfs_fs.h
adfs_fs_i.h
adfs_fs_sb.h
aer.h
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.h
include/linux/aio.h: removed duplicated include
2008-07-26 12:00:04 -07:00
aio_abi.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
flag parameters: anon_inode_getfd extension
2008-07-24 10:47:27 -07:00
apm-emulation.h
apm_bios.h
arcdevice.h
arcfb.h
async_tx.h
async_tx: remove depend_tx from async_tx_sync_epilog
2008-07-17 17:59:55 -07:00
ata.h
[libata] LBA28/LBA48 off-by-one bug in ata.h
2008-09-13 16:46:15 -04:00
ata_platform.h
atalk.h
atm.h
atm: Cleanup atm_tcp.h and atm.h for userspace.
2008-05-14 23:24:09 -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
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel-pwm-bl.h
fbdev: LCD backlight driver using Atmel PWM driver
2008-07-24 10:47:41 -07:00
atmel-ssc.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h
remove the v850 port
2008-07-24 10:47:24 -07:00
auto_fs.h
auto_fs4.h
autofs4: remove unused ioctls
2008-07-24 10:47:33 -07:00
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
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
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
cfag12864b.h
Miguel Ojeda has moved
2008-07-04 10:40:05 -07:00
cgroup.h
cgroup_clone: use pid of newly created task for new cgroup
2008-07-25 10:53:37 -07:00
cgroup_subsys.h
cgroups: implement device whitelist
2008-04-29 08:06:09 -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.h
coda: remove CODA_FS_OLD_API
2008-07-25 10:53:33 -07:00
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
coff.h
com20020.h
compat.h
ntp: support for TAI
2008-05-01 08:03:59 -07:00
compiler-gcc.h
inlining: do not allow gcc below version 4 to optimize inlining
2008-04-30 08:42:49 -07:00
compiler-gcc3.h
compiler-gcc4.h
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.h
xen: Enable console tty by default in domU if it's not a dummy
2008-05-27 10:11:36 +02:00
console_struct.h
vt: fix background color on line feed
2008-04-29 08:06:06 -07: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.h
cramfs_fs_sb.h
crash_dump.h
crashdump: fix undefined reference to `elfcorehdr_addr'
2008-07-26 11:26:23 +02:00
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
crc7.h
crc16.h
crc32.h
crc32c.h
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-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
device_cgroup.h
cgroups: implement device whitelist
2008-04-29 08:06:09 -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.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-dirty-log.h
dm-io.h
dm-ioctl.h
dm: introduce merge_bvec_fn
2008-07-21 12:00:37 +01:00
dm-kcopyd.h
dm9000.h
dm9000: Support MAC address setting through platform data.
2008-08-07 02:22:54 -04: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
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.h
elfnote.h
enclosure.h
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.h
ext2: fix typo in Hurd part of include/linux/ext2_fs.h
2008-07-25 10:53:31 -07:00
ext2_fs_sb.h
ext3_fs.h
ext3: handle corrupted orphan list at mount
2008-07-25 10:53:32 -07:00
ext3_fs_i.h
ext3_fs_sb.h
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
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.h
vfs: pagecache usage optimization for pagesize!=blocksize
2008-07-28 16:30:21 -07:00
fs_enet_pd.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2008-07-22 19:09:51 -07:00
fs_stack.h
fs_struct.h
[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
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.h
gpio: sysfs interface
2008-07-25 10:53:30 -07:00
gpio_keys.h
Input: gpio-keys debouncing support
2008-05-16 16:54:14 -04:00
gpio_mouse.h
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
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
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
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-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-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
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.h
if_addr.h
if_addrlabel.h
if_arcnet.h
if_arp.h
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
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
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
in.h
in6.h
in_route.h
route: Mark unused route cache flags as such.
2008-06-03 16:36:01 -07:00
inet.h
NFS: Add string length argument to nfs_parse_server_address
2008-07-09 12:09:28 -04:00
inet_diag.h
inet_lro.h
net/inet_lro: remove setting skb->ip_summed when not LRO-able
2008-06-27 20:09:00 -07:00
inetdevice.h
route: Remove unused ifa_anycast field
2008-06-03 16:37:33 -07:00
init.h
modules: extend initcall_debug functionality to the module loader
2008-08-12 17:52:54 +10:00
init_ohci1394_dma.h
init_task.h
introduce PF_KTHREAD flag
2008-07-25 10:53:39 -07: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
ip.h
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
ipc.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
ipmi.h
ipmi: make comment match actual preprocessor check
2008-04-29 08:06:15 -07:00
ipmi_msgdefs.h
ipmi_smi.h
ipmi: remove ->write_proc code
2008-04-29 08:06:15 -07:00
ipsec.h
ipv6.h
ipv6: __KERNEL__ ifdef struct ipv6_devconf
2008-07-21 13:41:16 -07:00
ipv6_route.h
ipx.h
irda.h
irq.h
genirq: Expose default irq affinity mask (take 3)
2008-06-05 15:18:30 +02:00
irq_cpustat.h
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
isdn.h
isdn_divertif.h
isdn_ppp.h
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
jbd.h
jbd2.h
jbd2: Remove data=ordered mode support using jbd buffer heads
2008-07-11 19:27:31 -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.h
move kernel-doc comment for might_sleep directly before its defining block
2008-08-12 16:07:29 -07:00
kernel_stat.h
x86: resize NR_IRQS for large machines
2008-05-12 21:28:05 +02:00
kernelcapi.h
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
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
kvm.h
KVM: fix userspace ABI breakage
2008-08-25 17:28:25 +03: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_types.h
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.h
lguest_launcher.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
mbus.h
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.h
ipc: recompute msgmni on memory add / remove
2008-04-29 08:06:12 -07:00
memory_hotplug.h
memory-hotplug: add sysfs removable attribute for hotplug memory remove
2008-07-24 10:47:21 -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
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
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.h
mm: VM_flags comment fixes
2008-08-16 16:45:56 -07:00
mm_inline.h
mm_types.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
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
mroute.h
net: Unbreak userspace usage of linux/mroute.h
2008-08-29 14:37:23 -07:00
mroute6.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
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_eth: allow multiple TX queues
2008-06-12 08:40:37 +02:00
mv643xx_i2c.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.h
ncp_fs.h
ncp_fs_i.h
Remove "#ifdef __KERNEL__" checks from unexported headers
2008-04-30 08:29:54 -07:00
ncp_fs_sb.h
ncp_mount.h
ncp_no.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.h
netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__
2008-05-21 14:08:38 -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
netlink.h
netlink: Remove nonblock parameter from netlink_attachskb
2008-06-05 11:23:39 -07:00
netpoll.h
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfsd: remove three unused NFS4_ACE_* defines
2008-06-23 13:02:48 -04:00
nfs4_acl.h
nfs4_mount.h
nfs_fs.h
[PATCH] get rid of indirect users of namei.h
2008-07-26 20:53:42 -04:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_iostat.h
NFS: Move fs/nfs/iostat.h to include/linux
2008-07-09 12:09:17 -04:00
nfs_mount.h
nfs_page.h
NFS: Allow redirtying of a completed unstable write.
2008-07-09 12:09:24 -04:00
nfs_xdr.h
NFS: Remove the redundant file_open entry from struct nfs_rpc_ops
2008-07-09 12:09:16 -04:00
nfsacl.h
nfsd_idmap.h
nl80211.h
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
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.h
of: adapt of_find_i2c_driver() to be usable by SPI also
2008-07-25 22:25:13 -04:00
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
oom.h
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.h
parport/share.c: proper externs
2008-07-26 12:00:03 -07:00
parport_pc.h
parser.h
Revert "UFS: add const to parser token table"
2008-08-04 16:50:38 -07:00
patchkey.h
path.h
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
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
pcieport_if.h
pda_power.h
pda_power: add init and exit function callbacks
2008-05-03 03:39:55 +04:00
percpu.h
mm/allocpercpu.c: make 4 functions static
2008-07-26 12:00:12 -07:00
percpu_counter.h
percpu_counter: new function percpu_counter_sum_and_set
2008-07-11 19:27:31 -04: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.h
phylib: Fix some sparse warnings
2008-05-06 12:01:41 -04:00
phy_fixed.h
pid.h
fix setpriority(PRIO_PGRP) thread iterator breakage
2008-08-20 15:40:32 -07:00
pid_namespace.h
pidns: add the struct bsd_acct_struct pointer on pid_namespace struct
2008-07-25 10:53:46 -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.h
pm: add new PM_EVENT codes for runtime power transitions
2008-07-24 10:47:23 -07:00
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
pmu.h
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-timers.h
timers: fix itimer/many thread hang
2008-09-14 16:25:35 +02:00
posix_acl.h
posix_acl_xattr.h
posix_types.h
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-comp.h
net: remove CVS keywords
2008-06-11 21:00:38 -07:00
ppp_channel.h
ppp_defs.h
net: remove CVS keywords
2008-06-11 21:00:38 -07:00
prctl.h
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.h
[ARM] pxa: Add bare bones PWM API
2008-05-19 16:25:39 +01:00
pwm_backlight.h
[ARM] 5044/1: pwm_bl: add init/notify/exit callbacks
2008-07-03 13:25:05 +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
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.h
printk ratelimiting rewrite
2008-07-25 10:53:29 -07:00
rcupreempt_trace.h
Remove "#ifdef __KERNEL__" checks from unexported headers
2008-04-30 08:29:54 -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.h
include: use get/put_unaligned_* helpers
2008-07-25 10:53:26 -07:00
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs: convert j_commit_lock to mutex
2008-07-25 10:53:33 -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.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
2008-05-03 10:01:33 -07: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
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.h
scx200_gpio.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.h
selinux_netlink.h
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.h
seq_file: add seq_cpumask(), seq_nodemask()
2008-08-12 16:07:30 -07:00
seq_file_net.h
proc: consolidate per-net single-release callers
2008-07-18 04:07:44 -07:00
seqlock.h
serial.h
serial167.h
serial_8250.h
serial_core.h
remove the v850 port
2008-07-24 10:47:24 -07:00
serial_pnx8xxx.h
serial_reg.h
serial_sci.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.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2008-07-26 20:17:56 -07:00
slab_def.h
slob_def.h
slub_def.h
SLUB: dynamic per-cache MIN_PARTIAL
2008-08-05 09:28:47 +03:00
sm501-regs.h
sm501.h
sm501: gpio I2C support
2008-07-25 10:53:30 -07:00
smb.h
smb.h: uses struct timespec but didn't include linux/time.h
2008-04-29 08:06:05 -07:00
smb_fs.h
include: use get/put_unaligned_* helpers
2008-07-25 10:53:26 -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_mount.h
smbno.h
smc91x.h
[NET] smc91x: prepare SMC_USE_PXA_DMA to be specified in platform data
2008-07-12 21:52:41 +01:00
smc911x.h
smc911x: introduce platform data flags
2008-06-11 21:58:11 -04:00
smp.h
Full conversion to early_initcall() interface, remove old interface
2008-07-26 12:00:04 -07:00
smp_lock.h
Add cycle_kernel_lock()
2008-06-20 14:05:53 -06: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.h
lockdep: spin_lock_nest_lock()
2008-08-11 09:30:24 +02:00
spinlock_api_smp.h
lockdep: spin_lock_nest_lock()
2008-08-11 09:30:24 +02:00
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
srcu.h
stacktrace.h
stallion.h
stallion: use tty_port
2008-07-20 17:12:37 -07:00
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
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.h
suspend: fix section mismatch warning - register_nosave_region
2008-08-15 08:35:42 -07:00
suspend_ioctls.h
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.h
task IO accounting: move all IO statistics in struct task_io_accounting
2008-07-27 16:12:28 -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
taskstats.h
per-task-delay-accounting: update taskstats for memory reclaim delay
2008-07-25 10:53:47 -07:00
taskstats_kern.h
tc.h
tcp.h
tcp: Remove redundant checks when setting eff_sacks
2008-07-19 00:07:02 -07:00
telephony.h
termios.h
textsearch.h
textsearch: convert kmalloc + memset to kzalloc
2008-07-08 02:38:40 -07:00
textsearch_fsm.h
tfrc.h
thermal.h
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
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.h
tipc_config.h
tipc: Fix skb_under_panic when configuring TIPC without privileges
2008-05-21 14:52:30 -07:00
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
trdevice.h
tsacct_kern.h
tty.h
tty: remove resize window special case
2008-08-15 10:34:07 -07:00
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
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
udf_fs_i.h
udp.h
netns: introduce the net_hash_mix "salt" for hashes
2008-06-16 17:14:11 -07:00
uinput.h
uio.h
uio_driver.h
UIO: minor style and comment fixes
2008-07-21 21:54:55 -07:00
ultrasound.h
un.h
unistd.h
unwind.h
usb.h
USB: Defer Set-Interface for suspended devices
2008-08-21 10:26:36 -07:00
usb_usual.h
usbdevice_fs.h
USB: remove CVS keywords
2008-07-21 15:15:55 -07:00
user.h
user_namespace.h
utime.h
uts.h
utsname.h
vermagic.h
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
videodev.h
V4L/DVB (8524): videodev: copy the VID_TYPE defines to videodev.h
2008-07-27 11:07:12 -03:00
videodev2.h
V4L/DVB (8832): gspca: Bad pixelformat of vc0321 webcams.
2008-09-03 18:37:45 -03:00
videotext.h
V4L/DVB (8500a): videotext.h: whitespace cleanup
2008-07-26 13:25:25 -03:00
virtio.h
virtio: explicit advertisement of driver features
2008-05-02 21:50:50 +10: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
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.h
vt_buffer.h
vt_kern.h
tty: remove resize window special case
2008-08-15 10:34:07 -07:00
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.h
zorro_ids.h
zutil.h