android_kernel_google_msm/include/linux
Paul Mackerras 53cfbf5937 perf_counter: record time running and time enabled for each counter
Impact: new functionality

Currently, if there are more counters enabled than can fit on the CPU,
the kernel will multiplex the counters on to the hardware using
round-robin scheduling.  That isn't too bad for sampling counters, but
for counting counters it means that the value read from a counter
represents some unknown fraction of the true count of events that
occurred while the counter was enabled.

This remedies the situation by keeping track of how long each counter
is enabled for, and how long it is actually on the cpu and counting
events.  These times are recorded in nanoseconds using the task clock
for per-task counters and the cpu clock for per-cpu counters.

These values can be supplied to userspace on a read from the counter.
Userspace requests that they be supplied after the counter value by
setting the PERF_FORMAT_TOTAL_TIME_ENABLED and/or
PERF_FORMAT_TOTAL_TIME_RUNNING bits in the hw_event.read_format field
when creating the counter.  (There is no way to change the read format
after the counter is created, though it would be possible to add some
way to do that.)

Using this information it is possible for userspace to scale the count
it reads from the counter to get an estimate of the true count:

true_count_estimate = count * total_time_enabled / total_time_running

This also lets userspace detect the situation where the counter never
got to go on the cpu: total_time_running == 0.

This functionality has been requested by the PAPI developers, and will
be generally needed for interpreting the count values from counting
counters correctly.

In the implementation, this keeps 5 time values (in nanoseconds) for
each counter: total_time_enabled and total_time_running are used when
the counter is in state OFF or ERROR and for reporting back to
userspace.  When the counter is in state INACTIVE or ACTIVE, it is the
tstamp_enabled, tstamp_running and tstamp_stopped values that are
relevant, and total_time_enabled and total_time_running are determined
from them.  (tstamp_stopped is only used in INACTIVE state.)  The
reason for doing it like this is that it means that only counters
being enabled or disabled at sched-in and sched-out time need to be
updated.  There are no new loops that iterate over all counters to
update total_time_enabled or total_time_running.

This also keeps separate child_total_time_running and
child_total_time_enabled fields that get added in when reporting the
totals to userspace.  They are separate fields so that they can be
atomic.  We don't want to use atomics for total_time_running,
total_time_enabled etc., because then we would have to use atomic
sequences to update them, which are slower than regular arithmetic and
memory accesses.

It is possible to measure total_time_running by adding a task_clock
counter to each group of counters, and total_time_enabled can be
measured approximately with a top-level task_clock counter (though
inaccuracies will creep in if you need to disable and enable groups
since it is not possible in general to disable/enable the top-level
task_clock counter simultaneously with another group).  However, that
adds extra overhead - I measured around 15% increase in the context
switch latency reported by lat_ctx (from lmbench) when a task_clock
counter was added to each of 2 groups, and around 25% increase when a
task_clock counter was added to each of 4 groups.  (In both cases a
top-level task-clock counter was also added.)

In contrast, the code added in this commit gives better information
with no overhead that I could measure (in fact in some cases I
measured lower times with this code, but the differences were all less
than one standard deviation).

[ v2: address review comments by Andrew Morton. ]

Signed-off-by: Paul Mackerras <paulus@samba.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Andrew Morton <akpm@linux-foundation.org>
Orig-LKML-Reference: <18890.6578.728637.139402@cargo.ozlabs.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-04-06 09:30:36 +02:00
..
amba
byteorder
can
decompress
dvb make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
hdlc
i2c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 2009-04-03 10:39:20 -07:00
isdn
lockd NLM: Shrink the IPv4-only version of nlm_cmp_addr() 2009-03-10 20:33:19 -04:00
mfd mfd: remove DS1WM clock handling 2009-04-05 00:32:22 +02:00
mlx4 mlx4_core: Add link type autosensing 2009-03-18 19:45:11 -07:00
mmc MMC: regulator utilities 2009-03-31 09:56:26 +01:00
mtd
netfilter Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2009-03-26 22:45:23 -07:00
netfilter_arp
netfilter_bridge
netfilter_ipv4 make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
netfilter_ipv6 Merge branch 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-03-26 16:11:41 -07:00
nfsd
raid md/raid6: move raid6 data processing to raid6_pq.ko 2009-03-31 15:09:39 +11:00
regulator regulator: Support disabling of unused regulators by machines 2009-03-31 09:56:29 +01:00
rtc
spi spi-gpio: allow operation without CS signal 2009-04-02 19:04:51 -07:00
ssb ssb: Add SPROM fallback support 2009-03-05 14:39:32 -05:00
sunrpc SUNRPC: Remove @family argument from svc_create() and svc_create_pooled() 2009-03-28 15:54:48 -04:00
tc_act
tc_ematch
unaligned
usb trivial: wusb: Storage class should be before const qualifier 2009-03-30 15:22:03 +02:00
uwb
wimax wimax: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:23 -07:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
acpi_pmtmr.h
adb.h
adfs_fs.h
adfs_fs_i.h
adfs_fs_sb.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
aio.h
aio_abi.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
arcdevice.h
arcfb.h
async.h
async_tx.h async_tx: provide __async_inline for HAS_DMA=n archs 2009-03-25 09:13:25 -07:00
ata.h Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2009-03-26 11:20:23 -07:00
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmioc.h
atmlec.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
atmmpc.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h integrity: audit update 2009-02-12 09:40:14 +11:00
auto_dev-ioctl.h autofs4: fix kernel includes 2009-04-01 08:59:23 -07:00
auto_fs.h autofs4: fix kernel includes 2009-04-01 08:59:23 -07:00
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h struct linux_binprm: drop unused fields 2009-04-02 19:05:01 -07:00
bio.h block: add private bio_set for bio integrity allocations 2009-03-24 12:35:17 +01:00
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blkdev.h block: reduce stack footprint of blk_recount_segments() 2009-02-26 10:45:48 +01:00
blkpg.h
blktrace_api.h Merge branch 'linus' into tracing/blktrace 2009-02-19 09:00:35 +01:00
blockgroup_lock.h
bootmem.h mm: enable hashdist by default on 64bit NUMA 2009-04-01 08:59:14 -07:00
bottom_half.h
bpqether.h
brcmphy.h
bsg.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
buffer_head.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-04-02 21:09:10 -07:00
bug.h
c2port.h
cache.h
can.h
capability.h nfsd: nfsd should drop CAP_MKNOD for non-root 2009-03-17 14:55:55 -04:00
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
cgroup.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-04-03 15:24:35 -07:00
cgroup_subsys.h
cgroupstats.h
chio.h
circ_buf.h
clk.h clkdev: add possibility to get a clock based on the device name 2009-03-27 14:51:13 +01:00
clockchips.h
clocksource.h clocksource: allow usage independent of timekeeping.c 2009-02-15 22:43:31 -08:00
cm4000_cs.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
cn_proc.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
cnt32_to_63.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_psdev.h
coff.h
com20020.h
compat.h Make non-compat preadv/pwritev use native register size 2009-04-04 14:20:34 -07:00
compiler-gcc.h [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
compiler-gcc3.h
compiler-gcc4.h compiler-gcc4: conditionalize #error on __KERNEL__ 2009-03-26 18:14:23 +01:00
compiler-intel.h
compiler.h tracing: optimization of branch tracer 2009-03-17 23:10:43 -04:00
completion.h
comstats.h
concap.h
configfs.h
connector.h Staging: dst: core files. 2009-04-03 14:53:32 -07:00
console.h vcs: hook sysfs devices into object lifetime instead of "binding" 2009-03-24 16:38:26 -07:00
console_struct.h
consolemap.h
const.h
cpu.h cpu hotplug: remove unused cpuhotplug_mutex_lock() 2009-04-02 19:05:00 -07:00
cpufreq.h Revert "[CPUFREQ] Disable sysfs ui for p4-clockmod." 2009-03-09 15:07:33 -04:00
cpuidle.h
cpumask.h
cpuset.h cpusets: replace zone allowed functions with node allowed 2009-04-02 19:04:57 -07:00
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc16.h
crc32.h
crc32c.h
cred.h
crypto.h crypto: compress - Add pcomp interface 2009-03-04 15:05:33 +08:00
cryptohash.h
ctype.h
cuda.h
cyclades.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dca.h dca: add missing copyright/license headers 2009-03-21 13:31:23 -07:00
dcache.h fs: make struct dentry->d_op const 2009-03-27 14:43:59 -04:00
dcbnl.h net headers: cleanup dcbnl.h 2009-03-01 00:19:35 -08:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h debugfs: function to know if debugfs is initialized 2009-03-23 16:25:46 +01:00
debugobjects.h
delay.h
delayacct.h
device-mapper.h dm target: remove struct tt_internal 2009-04-02 19:55:28 +01:00
device.h dynamic debug: combine dprintk and dynamic printk 2009-03-24 16:38:26 -07:00
device_cgroup.h
devpts_fs.h
dio.h
dirent.h
display.h
dlm.h
dlm_device.h
dlm_netlink.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
dlm_plock.h
dlmconstants.h
dm-dirty-log.h dm raid1: add is_remote_recovering hook for clusters 2009-04-02 19:55:30 +01:00
dm-io.h
dm-ioctl.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-attrs.h
dma-debug.h dma-debug: fix dma_debug_add_bus() definition for !CONFIG_DMA_API_DEBUG 2009-03-18 11:53:48 +01:00
dma-mapping.h
dma_remapping.h intel-iommu: VT-d page table to support snooping control bit 2009-03-24 09:42:54 +00:00
dmaengine.h dmaengine: Add privatecnt to revert DMA_PRIVATE property 2009-03-26 09:48:09 -07:00
dmapool.h
dmar.h x86, x2apic: cleanup ifdef CONFIG_INTR_REMAP in io_apic code 2009-03-17 15:45:07 -07:00
dmi.h dmi: Let dmi_walk() users pass private data 2009-03-30 21:46:44 +02:00
dn.h
dnotify.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1286.h
ds17287rtc.h
dst.h Staging: dst: core files. 2009-04-03 14:53:32 -07:00
dtlk.h
dw_dmac.h dw_dmac: add cyclic API to DW DMA driver 2009-04-01 15:42:34 -07:00
dynamic_debug.h Dynamic debug: fix pr_fmt() build error 2009-03-24 16:38:27 -07:00
edac.h
edd.h
eeprom_93cx6.h
efi.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h elf: add ELF_CORE_COPY_KERNEL_REGS() 2009-02-10 00:41:26 +01:00
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h net: new user space API for time stamping of incoming and outgoing packets 2009-02-15 22:43:33 -08:00
etherdevice.h
ethtool.h ethtool: Add RX pkt classification interface 2009-02-20 00:58:13 -08:00
eventfd.h eventfd: improve support for semaphore-like behavior 2009-04-01 08:59:20 -07:00
eventpoll.h Rename struct file->f_ep_lock 2009-03-16 08:32:27 -06:00
exportfs.h
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h Merge branch 'ext3-latency-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 2009-04-03 11:10:33 -07:00
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
f75375s.h
fadvise.h
falloc.h
fault-inject.h
fb.h fbdev: uninline lock_fb_info() 2009-04-01 08:59:29 -07:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdreg.h
fdtable.h
fib_rules.h
fiemap.h
file.h
filter.h
firewire-cdev.h firewire: cdev: add closure to async stream ioctl 2009-03-24 20:56:50 +01:00
firewire-constants.h
firmware-map.h Bernhard has moved 2009-02-18 15:37:56 -08:00
firmware.h
flat.h
font.h
freezer.h
fs.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-04-02 21:09:10 -07:00
fs_enet_pd.h
fs_stack.h
fs_struct.h New locking/refcounting for fs_struct 2009-03-31 23:00:26 -04:00
fs_uart_pd.h
fscache-cache.h FS-Cache: Add use of /proc and presentation of statistics 2009-04-03 16:42:37 +01:00
fscache.h FS-Cache: Implement data I/O part of netfs API 2009-04-03 16:42:39 +01:00
fsl_devices.h spi_mpc83xx: add OF platform driver bindings 2009-04-01 08:59:22 -07:00
fsnotify.h
ftrace.h tracing: use union for multi-usages field 2009-03-24 16:43:12 +01:00
ftrace_irq.h
fuse.h
futex.h
gameport.h
gen_stats.h net: reorder struct Qdisc for better SMP performance 2009-03-20 01:33:32 -07:00
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h block: genhd.h cleanup patch 2009-03-24 12:35:17 +01:00
getcpu.h
gfp.h numa, cpumask: move numa_node_id default implementation to topology.h 2009-03-13 14:35:31 +01:00
gfs2_ondisk.h
gigaset_dev.h
gpio.h
gpio_keys.h
gpio_mouse.h
hardirq.h sched: do not account for NMIs 2009-02-12 14:16:46 -05:00
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h drivers/net/hamradio: fix sparse warnings: fix signedness 2009-02-17 17:37:40 -08:00
hdpu_features.h
hdreg.h remove <linux/ata.h> include from <linux/hdreg.h> 2009-04-01 21:42:26 +02:00
hid-debug.h
hid.h Merge branch 'autosuspend' into for-next 2009-03-30 15:14:53 +02:00
hiddev.h
hidraw.h
highmem.h Fix highmem PPC build failure 2009-04-03 09:48:29 -07:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htirq.h
hugetlb.h hugetlbfs: fix build failure with !CONFIG_HUGETLBFS 2009-02-10 14:56:59 -08:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h i2c-algo-pca: Add PCA9665 support 2009-03-28 21:34:44 +01:00
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-dev.h i2c-dev: Clarify the unit of ioctl I2C_TIMEOUT 2009-02-24 19:19:49 +01:00
i2c-gpio.h
i2c-id.h V4L/DVB (11096): V4L2 Driver for the Hauppauge HD PVR usb capture device 2009-03-30 12:43:28 -03:00
i2c-ocores.h
i2c-pca-platform.h i2c-algo-pca: Rework waiting for a free bus 2009-03-28 21:34:45 +01:00
i2c-pnx.h
i2c-pxa.h
i2c.h i2c-dev: Clarify the unit of ioctl I2C_TIMEOUT 2009-02-24 19:19:49 +01:00
i2o-dev.h
i2o.h
i8k.h
i7300_idle.h
i8042.h
ibmtr.h
icmp.h
icmpv6.h
ide.h ide: inline SELECT_DRIVE() 2009-03-31 20:15:33 +02:00
idr.h cgroup: CSS ID support 2009-04-02 19:04:53 -07:00
ieee80211.h nl80211: Add MLME primitives to support external SME 2009-03-27 20:13:02 -04:00
if.h
if_addr.h
if_addrlabel.h
if_arcnet.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
if_fc.h
if_fddi.h
if_frad.h wan: convert sdla driver to net_device_ops 2009-03-27 00:46:44 -07:00
if_hippi.h
if_infiniband.h
if_link.h
if_ltalk.h
if_macvlan.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
if_pppox.h net: replace __constant_{endian} uses in net headers 2009-02-14 22:58:35 -08:00
if_slip.h
if_strip.h
if_tr.h
if_tun.h
if_tunnel.h net: replace __constant_{endian} uses in net headers 2009-02-14 22:58:35 -08:00
if_vlan.h vlan: Update skb->mac_header in __vlan_put_tag(). 2009-02-18 23:31:11 -08:00
igmp.h
ihex.h
ima.h integrity: shmem zero fix 2009-02-11 15:27:15 +11:00
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h perf_counter: fix uninitialized usage of event_list 2009-04-06 09:30:15 +02:00
initrd.h
inotify.h
input-polldev.h
input.h Merge branch 'topic/jack' into for-linus 2009-03-24 00:35:43 +01:00
intel-iommu.h Merge git://git.infradead.org/iommu-2.6 2009-04-03 10:36:57 -07:00
interrupt.h Merge branch 'tracing/core-v2' into tracing-for-linus 2009-04-02 00:49:02 +02:00
io-mapping.h Merge commit 'v2.6.29-rc7' into perfcounters/core 2009-03-04 11:42:31 +01:00
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h
iommu.h intel-iommu: VT-d page table to support snooping control bit 2009-03-24 09:42:54 +00:00
ioport.h
ioprio.h
iova.h
ip.h
ip6_tunnel.h
ip_vs.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
ipc.h
ipc_namespace.h
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
ipsec.h
ipv6.h
ipv6_route.h
ipx.h
irda.h
irq.h PM: Introduce functions for suspending and resuming device interrupts 2009-03-30 21:46:54 +02:00
irq_cpustat.h
irqflags.h locking: rename trace_softirq_[enter|exit] => lockdep_softirq_[enter|exit] 2009-03-13 01:32:36 +01:00
irqnr.h Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
irqreturn.h genirq: make irqreturn_t an enum 2009-03-13 14:32:29 +01:00
isa.h
isapnp.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h V4L/DVB (11042): v4l2-api: Add definitions for V4L2_MPEG_STREAM_VBI_FMT_IVTV payloads 2009-03-30 12:43:22 -03:00
ivtvfb.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
ixjuser.h
jbd.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-04-03 15:24:35 -07:00
jbd2.h ext4: Use WRITE_SYNC for commits which are caused by fsync() 2009-03-25 23:35:46 -04:00
jffs2.h make MTD headers use strict integer types 2009-03-26 18:14:17 +01:00
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h Ksplice: Add functions for walking kallsyms symbols 2009-03-31 13:05:32 +10:30
kbd_diacr.h
kbd_kern.h
Kbuild add fiemap.h to header-y 2009-04-02 19:04:49 -07:00
kbuild.h
kd.h
kdebug.h
kdev_t.h
kernel.h Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-04-05 11:04:19 -07:00
kernel_stat.h Merge branch 'linus' into perfcounters/core-v2 2009-04-06 09:02:57 +02:00
kernelcapi.h
kexec.h
key-type.h
key.h
keyboard.h
keyctl.h
kfifo.h
kgdb.h
klist.h
kmalloc_sizes.h
kmod.h module: create a request_module_nowait() 2009-03-31 13:05:35 +10:30
kobj_map.h
kobject.h Driver core: implement uevent suppress in kobject 2009-03-24 16:38:26 -07:00
kprobes.h x86, mm, kprobes: fault.c, simplify notify_page_fault() 2009-02-21 00:09:42 +01:00
kref.h
ks0108.h
kthread.h
ktime.h
kvm.h KVM: Correct deassign device ioctl to IOW 2009-03-24 11:03:15 +02:00
kvm_host.h KVM: Report IRQ injection status to userspace. 2009-03-24 11:03:11 +02:00
kvm_para.h
kvm_types.h KVM: Move struct kvm_pio_request into x86 kvm_host.h 2009-03-24 11:02:55 +02:00
lapb.h
latencytop.h sched, latencytop: incorporate review feedback from Andrew Morton 2009-02-11 10:18:04 +01:00
lcd.h
leds-pca9532.h
leds.h
lguest.h
lguest_launcher.h
libata.h trivial: Fix misspelling of firmware 2009-03-30 15:21:59 +02:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
list.h
list_nulls.h
llc.h
lmb.h
lockdep.h Factor out #ifdefs from kernel/spinlock.c to LOCK_CONTENDED_FLAGS 2009-04-02 19:05:10 -07:00
log2.h
loop.h loop: add ioctl to resize a loop device 2009-04-01 08:59:17 -07:00
lp.h
lzo.h
m48t86.h
magic.h
major.h [SCSI] major.h: char-major number for OSD device driver 2009-03-12 12:58:05 -05:00
map_to_7segment.h
maple.h sh: maple: Support block reads and writes. 2009-02-27 16:07:32 +09:00
marker.h
math64.h
matroxfb.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h
mdio-gpio.h
memcontrol.h memcg: remove mem_cgroup_reclaim_imbalance() remnants 2009-04-02 19:04:56 -07:00
memory.h Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-04-05 11:04:19 -07:00
memory_hotplug.h
mempolicy.h
mempool.h
memstick.h
meye.h
migrate.h
mii.h
minix_fs.h
miscdevice.h [SCSI] mpt2sas: add MPT2SAS_MINOR(221) to miscdevice.h 2009-03-13 15:57:40 -05:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h nommu: fix a number of issues with the per-MM VMA patch 2009-04-02 19:04:48 -07:00
mm_inline.h
mm_types.h generic debug pagealloc: build fix 2009-04-02 19:04:48 -07:00
mman.h
mmdebug.h
mmiotrace.h x86, mm: fault.c, simplify kmmio_fault() 2009-02-21 00:09:42 +01:00
mmtimer.h
mmu_notifier.h
mmzone.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask 2009-04-05 10:33:07 -07:00
mnt_namespace.h Get rid of indirect include of fs_struct.h 2009-03-31 23:00:27 -04:00
mod_devicetable.h platform: introduce module id table for platform devices 2009-03-24 16:38:24 -07:00
module.h Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-04-05 11:04:19 -07:00
moduleloader.h
moduleparam.h param: fix charp parameters set via sysfs 2009-03-31 13:05:30 +10:30
mount.h Add a strictatime mount option 2009-03-26 10:56:35 -07:00
mpage.h Remove two unneeded exports and make two symbols static in fs/mpage.c 2009-04-01 07:38:54 -04:00
mqueue.h
mroute.h
mroute6.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
msdos_fs.h
msg.h
msi.h PCI MSI: Add support for multiple MSI 2009-03-20 10:48:14 -07:00
mtio.h
mutex-debug.h
mutex.h mutex: add atomic_dec_and_mutex_lock() 2009-04-06 09:30:26 +02:00
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
n_r3964.h
namei.h
nbd.h
ncp.h
ncp_fs.h constify dentry_operations: misc filesystems 2009-03-27 14:44:00 -04:00
ncp_fs_i.h
ncp_fs_sb.h
ncp_mount.h
ncp_no.h net: replace __constant_{endian} uses in net headers 2009-02-14 22:58:35 -08:00
neighbour.h neigh: Allow for user space users of the neighbour table 2009-03-04 00:03:08 -08:00
net.h net: reorder fields of struct socket 2009-03-15 19:59:13 -07:00
net_dropmon.h Network Drop Monitor: Adding drop monitor implementation & Netlink protocol 2009-03-13 12:09:29 -07:00
net_tstamp.h net: new user space API for time stamping of incoming and outgoing packets 2009-02-15 22:43:33 -08:00
netdevice.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
netfilter.h
netfilter_arp.h
netfilter_bridge.h net: replace __constant_{endian} uses in net headers 2009-02-14 22:58:35 -08:00
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h netlink: add NETLINK_NO_ENOBUFS socket flag 2009-03-24 16:37:55 -07:00
netpoll.h netpoll: store local and remote ip in net-endian 2009-03-28 23:55:58 -07:00
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_acl.h
nfs4_mount.h
nfs_fs.h NFS: nfs_readpage_async() needs to be accessible as a fallback for local caching 2009-04-03 16:42:44 +01:00
nfs_fs_i.h
nfs_fs_sb.h NFS: Define and create superblock-level objects 2009-04-03 16:42:42 +01:00
nfs_idmap.h
nfs_iostat.h NFS: Add some new I/O counters for FS-Cache doing things for NFS 2009-04-03 16:42:43 +01:00
nfs_mount.h
nfs_page.h
nfs_xdr.h Merge branch 'devel' into for-linus 2009-04-01 13:28:15 -04:00
nfsacl.h NFSv3: Fix posix ACL code 2009-03-10 20:33:18 -04:00
nfsd_idmap.h
nl80211.h nl80211: Remove NL80211_CMD_SET_MGMT_EXTRA_IE 2009-03-27 20:13:04 -04:00
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h Get rid of indirect include of fs_struct.h 2009-03-31 23:00:27 -04:00
nubus.h
numa.h
nvram.h
nwpserial.h
of.h
of_device.h
of_gpio.h
of_i2c.h
of_platform.h
of_spi.h
oom.h
oprofile.h
oxu210hp.h
page-debug-flags.h generic debug pagealloc 2009-04-01 08:59:13 -07:00
page-flags.h FS-Cache: Recruit a page flags for cache management 2009-04-03 16:42:36 +01:00
page-isolation.h
page_cgroup.h cgroups: use css id in swap cgroup for saving memory v5 2009-04-02 19:04:56 -07:00
pageblock-flags.h
pagemap.h CacheFiles: Permit the page lock state to be monitored 2009-04-03 16:42:39 +01:00
pagevec.h mm: remove pagevec_swap_free() 2009-04-01 08:59:13 -07:00
param.h
parport.h
parport_pc.h
parser.h
patchkey.h
path.h
pci-acpi.h PCI/ACPI: fix wrong assumption in acpi_find_root_bridge_handle 2009-03-20 10:47:57 -07:00
pci-aspm.h
pci.h Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-04-01 09:47:12 -07:00
pci_hotplug.h
pci_ids.h pci: Add AMD8111 PCI Bridge PCI Device ID 2009-04-02 19:05:03 -07:00
pci_regs.h PCI: save and restore PCIe 2.0 registers 2009-03-26 16:02:30 -07:00
pcieport_if.h PCI: PCIe portdrv: Implement pm object 2009-03-20 10:47:49 -07:00
pda_power.h
percpu.h percpu: generalize embedding first chunk setup helper 2009-03-10 16:27:48 +09:00
percpu_counter.h
perf_counter.h perf_counter: record time running and time enabled for each counter 2009-04-06 09:30:36 +02:00
personality.h
pfkeyv2.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
pfn.h
pg.h
phantom.h
phonedev.h
phonet.h
phy.h phylib: convert state_queue work to delayed_work 2009-03-13 15:41:19 -07:00
phy_fixed.h
pid.h
pid_namespace.h
pim.h net: replace __constant_{endian} uses in net headers 2009-02-14 22:58:35 -08:00
pipe_fs_i.h
pkt_cls.h
pkt_sched.h pkt_sched: type should be __u32 in header 2009-02-10 17:18:17 -08:00
pktcdvd.h
platform_device.h driver core: move platform_data into platform_device 2009-03-24 16:38:26 -07:00
plist.h
pm.h Driver core: Fix device_move() vs. dpm list ordering, v2 2009-03-24 16:38:26 -07:00
pm_qos_params.h
pm_wakeup.h
pmu.h
pnp.h
poison.h generic debug pagealloc 2009-04-01 08:59:13 -07:00
poll.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
power_supply.h ACPI: battery: add power_{now,avg} properties to power_class 2009-03-27 22:23:52 -04:00
ppdev.h
ppp-comp.h
ppp_channel.h ppp: ppp_mp_explode() redesign 2009-03-13 16:09:12 -07:00
ppp_defs.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
prctl.h
preempt.h
prefetch.h
prio_heap.h
prio_tree.h
proc_fs.h proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
profile.h
proportions.h
ptrace.h forget_original_parent: split out the un-ptrace part 2009-04-02 19:05:00 -07:00
pwm.h trivial: PWM: fix of #endif comment 2009-03-30 15:22:01 +02:00
pwm_backlight.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h quota: Remove NODQUOT macro 2009-03-26 02:18:35 +01:00
quotaops.h quota: Remove uppercase aliases for quota functions. 2009-03-26 02:18:37 +01:00
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
random.h
ratelimit.h
raw.h
rbtree.h
rcuclassic.h rcu: Teach RCU that idle task is not quiscent state at boot 2009-02-26 04:08:14 +01:00
rculist.h
rculist_nulls.h
rcupdate.h rcu: Teach RCU that idle task is not quiscent state at boot 2009-02-26 04:08:14 +01:00
rcupreempt.h rcu: Teach RCU that idle task is not quiscent state at boot 2009-02-26 04:08:14 +01:00
rcupreempt_trace.h
rcutree.h rcu: Teach RCU that idle task is not quiscent state at boot 2009-02-26 04:08:14 +01:00
rds.h RDS: Add userspace header 2009-02-26 23:42:11 -08:00
reboot.h
reciprocal_div.h
regset.h
reiserfs_acl.h reiserfs: fix build breakage 2009-03-30 14:28:58 -07:00
reiserfs_fs.h Merge branch 'reiserfs-updates' from Jeff Mahoney 2009-03-30 12:33:01 -07:00
reiserfs_fs_i.h reiserfs: make per-inode xattr locking more fine grained 2009-03-30 12:16:38 -07:00
reiserfs_fs_sb.h reiserfs: strip trailing whitespace 2009-03-30 12:16:39 -07:00
reiserfs_xattr.h reiserfs: add atomic addition of selinux attributes during inode creation 2009-03-30 12:16:39 -07:00
relay.h
res_counter.h
resource.h
resume-trace.h
rfkill.h
ring_buffer.h tracing: add ring_buffer_event_discard() to ring buffer 2009-03-22 18:38:25 +01:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc-v3020.h rtc-v3020: add ability to access v3020 chip with GPIOs 2009-04-02 19:04:51 -07:00
rtc.h rtc: convert LEAP_YEAR into an inline 2009-04-01 08:59:24 -07:00
rtmutex.h
rtnetlink.h rtnetlink: add new value for DHCP added routes 2009-03-19 23:49:41 -07:00
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h perf_counter: generic context switch event 2009-04-06 09:30:15 +02:00
screen_info.h
sctp.h sctp: Clean up sctp checksumming code 2009-02-16 00:03:10 -08:00
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h lsm: Remove the socket_post_accept() hook 2009-03-28 15:01:37 +11:00
selection.h
selinux.h
selinux_netlink.h make most exported headers use strict integer types 2009-03-26 18:14:15 +01:00
sem.h
semaphore.h
seq_file.h cpumask: fix seq_bitmap_*() functions. 2009-03-30 22:05:11 +10:30
seq_file_net.h
seqlock.h
serial.h
serial167.h
serial_8250.h
serial_core.h 8250: fix boot hang with serial console when using with Serial Over Lan port 2009-02-20 17:57:50 -08:00
serial_pnx8xxx.h
serial_reg.h
serial_sci.h
serialP.h
serio.h Input: serio - fix protocol number for TouchIT213 2009-03-07 18:41:38 -08:00
sh_cmt.h
sh_intc.h sh: multiple vectors per irq - base 2009-02-27 16:53:50 +09:00
shm.h
shmem_fs.h
signal.h
signalfd.h
skbuff.h Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-03-29 01:40:34 -07:00
slab.h slab: introduce kzfree() 2009-02-20 17:57:48 -08:00
slab_def.h
slob_def.h
slow-work.h Document the slow work thread pool 2009-04-03 16:42:35 +01:00
slub_def.h Merge branch 'tracing/core-v2' into tracing-for-linus 2009-04-02 00:49:02 +02:00
sm501-regs.h
sm501.h
smb.h
smb_fs.h
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smc91x.h
smc911x.h
smp.h panic, smp: provide smp_send_stop() wrapper on UP too 2009-03-13 11:24:31 +01:00
smp_lock.h
smsc911x.h
snmp.h
socket.h Merge branch 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-03-26 16:11:41 -07:00
sockios.h net: new user space API for time stamping of incoming and outgoing packets 2009-02-15 22:43:33 -08:00
som.h
sonet.h
sony-laptop.h
sonypi.h sony-laptop: VGN-A317M hotkey support 2009-03-27 12:18:56 -04:00
sort.h
sound.h
soundcard.h sound: Remove OSSlib stuff from linux/soundcard.h 2009-02-10 00:02:54 +01:00
spinlock.h Allow rwlocks to re-enable interrupts 2009-04-02 19:05:11 -07:00
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
srcu.h
stackprotector.h
stacktrace.h
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param 2009-04-05 10:30:21 -07:00
string_helpers.h
stringify.h
superhyway.h
suspend.h pm: rework includes, remove arch ifdefs 2009-04-01 08:59:16 -07:00
suspend_ioctls.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
svga.h
swab.h
swap.h shmem: writepage directly to swap 2009-04-01 08:59:15 -07:00
swapops.h
swiotlb.h
synclink.h synclink_gt: add clock options 2009-04-02 19:05:01 -07:00
sys.h
syscalls.h Merge branch 'linus' into perfcounters/core-v2 2009-04-06 09:02:57 +02:00
sysctl.h
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
tc.h
tcp.h tcp: cache result of earlier divides when mss-aligning things 2009-03-15 20:09:55 -07:00
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h thermal: support forcing support for passive cooling 2009-03-27 16:58:22 -04:00
thread_info.h
threads.h
tick.h
tifm.h
time.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
timecompare.h timecompare: generic infrastructure to map between two time bases 2009-02-15 22:43:32 -08:00
timer.h Merge branch 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-03-30 17:17:35 -07:00
timerfd.h timerfd: add flags check 2009-02-18 15:37:53 -08:00
timeriomem-rng.h hwrng: timeriomem - Use phys address rather than virt 2009-03-27 12:59:54 +08:00
times.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
timex.h time: ntp: make 64-bit constants more robust 2009-02-25 18:38:15 +01:00
tiocl.h
tipc.h
tipc_config.h
topology.h numa, cpumask: move numa_node_id default implementation to topology.h 2009-03-13 14:35:31 +01:00
toshiba.h
tpm.h
trace_clock.h tracing: implement trace_clock_*() APIs 2009-02-26 18:44:06 +01:00
tracehook.h tracehook_notify_death: use task_detached() helper 2009-04-02 19:05:00 -07:00
tracepoint.h tracing: remove funky whitespace in the trace code 2009-03-10 14:13:14 -04:00
transport_class.h
trdevice.h
tsacct_kern.h
tty.h
tty_driver.h proc tty: remove struct tty_operations::read_proc 2009-04-01 08:59:10 -07:00
tty_flip.h
tty_ldisc.h
typecheck.h
types.h remove __KERNEL_STRICT_NAMES 2009-03-26 18:14:21 +01:00
uaccess.h x86, mm: dont use non-temporal stores in pagecache accesses 2009-03-02 11:06:49 +01:00
ucb1400.h
udf_fs_i.h
udp.h
uinput.h
uio.h
uio_driver.h UIO: Add name attributes for mappings and port regions 2009-03-24 16:38:24 -07:00
ultrasound.h
un.h
unistd.h
usb.h USB: make actual_length in struct urb field u32 2009-03-24 16:20:36 -07:00
usb_usual.h usb-storage: prepare for subdriver separation 2009-03-24 16:20:34 -07:00
usbdevice_fs.h
user.h
user_namespace.h Fix recursive lock in free_uid()/free_user_ns() 2009-02-27 16:26:21 -08:00
utime.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
uts.h
utsname.h
uwb.h
vermagic.h
veth.h
vfs.h
via.h
video_output.h
videodev.h V4L/DVB (10907): avoid loading the entire videodev.h header on V4L2 drivers 2009-03-30 12:43:15 -03:00
videodev2.h V4L/DVB (11213): gspca - sq905c: New subdriver. 2009-03-30 12:43:40 -03:00
videotext.h
virtio.h
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_net.h
virtio_pci.h
virtio_ring.h
virtio_rng.h
vmalloc.h Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu 2009-02-24 21:52:45 +01:00
vmstat.h
vt.h
vt_buffer.h
vt_kern.h
w1-gpio.h
wait.h epoll keyed wakeups: introduce new *_poll() wakeup macros 2009-04-01 08:59:20 -07:00
wanrouter.h
watchdog.h
wimax.h
wireless.h
wlp.h
wm97xx.h
wm97xx_batt.h
workqueue.h workqueue: add to_delayed_work() helper function 2009-04-02 19:04:50 -07:00
writeback.h mm: fix proc_dointvec_userhz_jiffies "breakage" 2009-04-01 08:59:13 -07:00
x25.h
xattr.h
xfrm.h make exported headers use strict posix types 2009-03-26 18:14:14 +01:00
xilinxfb.h
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h