twx-linux/include/linux
Steven Rostedt (Red Hat) 9d3c752c06 tracing: Optimize trace_printk() with one arg to use trace_puts()
Although trace_printk() is extremely fast, especially when it uses
trace_bprintk() (writes args straight to buffer instead of inserting
into string), it still has the overhead of calling one of the printf
sprintf() functions, that need to scan the fmt string to determine
what, if any args it has.

This is a waste of precious CPU cycles if the printk format has no
args but a single constant string. It is better to use trace_puts()
which does not have the overhead of the fmt scanning.

But wouldn't it be nice if the developer didn't have to think about
such things, and the compile would just do it for them?

  trace_printk("this string has no args\n");
  [...]
  trace_printk("this sting does %p %d\n", foo, bar);

As tracing is critical to have the least amount of overhead,
especially when dealing with race conditions, and you want to
eliminate any "Heisenbugs", you want the trace_printk() to use the
fastest possible means of tracing.

Currently the macro magic determines if it will use trace_bprintk()
or if the fmt is a dynamic string (a variable), it will fall
back to the slow trace_printk() method that does a full snprintf()
before copying it into the buffer, where as trace_bprintk() only
copys the pointer to the fmt and the args into the buffer.

Well, now there's a way to spend some more Hogwarts cash and come
up with new fancy macro magic.

  #define trace_printk(fmt, ...)			\
  do {							\
	char _______STR[] = __stringify((__VA_ARGS__));	\
	if (sizeof(_______STR) > 3)			\
		do_trace_printk(fmt, ##__VA_ARGS__);	\
	else						\
		trace_puts(fmt);			\
  } while (0)

The above needs a bit of explaining (both here and in the comments).

By stringifying the __VA_ARGS__, we can, at compile time, determine
the number of args that are being passed to trace_printk(). The extra
parenthesis are required, otherwise the compiler complains about
too many parameters for __stringify if there is more than one arg.

When there are no args, the __stringify((__VA_ARGS__)) converts into
"()\0", a string of 3 characters. Anything else, will be a string
containing more than 3 characters. Now we assign that string to a
dynamic char array, and then take the sizeof() of that array.
If it is greater than 3 characters, we know trace_printk() has args
and we need to do the full "do_trace_printk()" on them, otherwise
it was only passed a single arg and we can optimize to use trace_puts().

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Steven "The King of Nasty Macros!" Rostedt <rostedt@goodmis.org>
2013-03-15 00:35:56 -04:00
..
amba
bcma Drivers: bcma: remove __dev* attributes. 2013-01-03 15:57:15 -08:00
byteorder
can
ceph Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client 2012-12-20 14:00:13 -08:00
clk ARM: arm-soc: Updates for Marvell mvebu/kirkwood 2012-12-14 14:54:26 -08:00
crush
decompress
dma
extcon
fsl
hsi UAPI: Remove empty Kbuild files 2013-01-02 17:36:10 -08:00
i2c Merge branch 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux 2012-12-18 16:51:10 -08:00
iio
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-12-18 12:46:37 -08:00
irqchip ARM: arm-soc: Device-tree updates, take 2 2012-12-14 14:42:53 -08:00
isdn
lockd
mfd mfd: da9052/53 lockup fix 2013-01-27 01:35:32 +01:00
mlx4 mlx4_core: Allow choosing flow steering mode 2012-12-19 11:47:22 -08:00
mmc
mtd
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
pinctrl
platform_data [media] coda: Fix build due to iram.h rename 2013-01-08 09:44:06 +01:00
power Highlights: 2012-12-13 19:26:04 -08:00
raid UAPI: Remove empty Kbuild files 2013-01-02 17:36:10 -08:00
regulator
rtc
sched sched/rt: Move rt specific bits into new header file 2013-02-07 20:51:08 +01:00
spi
ssb Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2012-12-14 14:27:45 -08:00
sunrpc Merge branch 'for-3.8' of git://linux-nfs.org/~bfields/linux 2012-12-20 14:04:11 -08:00
tc_act
unaligned
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-02-09 07:55:24 +11:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_gpio.h
acpi_io.h
acpi_pmtmr.h
acpi.h Merge branch 'x86-acpi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-12-14 10:03:23 -08:00
adb.h
adfs_fs.h
aer.h aerdrv: Enhanced AER logging 2013-01-03 14:34:06 -08:00
agp_backend.h
agpgart.h
ahci_platform.h
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm_bios.h
apm-emulation.h
apple_bl.h
arcdevice.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1.h ASN.1: Define indefinite length marker constant 2012-12-14 13:06:41 +10:30
async_tx.h
async.h async: keep pending tasks on async_domain and remove async_pending 2013-01-23 09:32:30 -08:00
ata_platform.h include: remove __dev* attributes. 2013-01-03 15:57:16 -08:00
ata.h [libata] replace sata_settings with devslp_timing 2013-01-14 13:29:15 -05:00
atalk.h
ath9k_platform.h
atm_suni.h
atm_tcp.h
atm.h
atmdev.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h
atomic.h
attribute_container.h
audit.h linux/audit.h: move ptrace.h include to kernel header 2013-01-11 14:54:56 -08:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev.h Revert "bdi: add a user-tunable cpu_list for the bdi flusher threads" 2012-12-17 11:29:09 -08:00
backlight.h backlight: add of_find_backlight_by_node() 2012-12-17 17:15:16 -08:00
balloon_compaction.h mm: introduce a common interface for balloon pages mobility 2012-12-11 17:22:26 -08:00
basic_mmio_gpio.h
bcd.h
bch.h
bcm47xx_wdt.h
bcm2835_timer.h
bfin_mac.h
binfmts.h Merge branch 'akpm' (Andrew's patch-bomb) 2012-12-20 20:00:43 -08:00
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk_types.h
blk-iopoll.h
blkdev.h blk: avoid divide-by-zero with zero discard granularity 2012-12-19 07:18:35 -08:00
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h mm/bootmem.c: remove unused wrapper function reserve_bootmem_generic() 2012-12-12 17:38:35 -08:00
bottom_half.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
buffer_head.h
bug.h
c2port.h
cache.h
capability.h
cb710.h
cciss_ioctl.h
cdev.h
cdrom.h
cfag12864b.h
cgroup_subsys.h
cgroup.h
circ_buf.h
cleancache.h
clk-private.h
clk-provider.h
clk.h
clkdev.h
clksrc-dbx500-prcmu.h
clockchips.h clockevents: Add generic timer broadcast function 2013-01-31 22:15:36 +01:00
clocksource.h
cm4000_cs.h
cn_proc.h
cnt32_to_63.h
coda_psdev.h
coda.h
com20020.h
compaction.h mm: compaction: partially revert capture of suitable high-order page 2013-01-11 14:54:56 -08:00
compat.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
compiler-gcc3.h
compiler-gcc4.h Nothing all that exciting; a new module-from-fd syscall for those who want 2012-12-19 07:55:08 -08:00
compiler-gcc.h
compiler-intel.h
compiler.h Nothing all that exciting; a new module-from-fd syscall for those who want 2012-12-19 07:55:08 -08:00
completion.h
concap.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
context_tracking.h context_tracking: Export context state for generic vtime 2013-01-26 17:37:17 +01:00
cordic.h
coredump.h
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h lib: cpu_rmap: avoid flushing all workqueues 2013-01-11 14:54:54 -08:00
cpu.h
cpufreq.h
cpuidle.h cpuidle: remove the power_specified field in the driver 2013-01-15 14:18:04 +01:00
cpumask.h
cpuset.h cpuset: use N_MEMORY instead N_HIGH_MEMORY 2012-12-12 17:38:32 -08:00
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h cred: Remove tgcred pointer from struct cred 2013-01-09 08:26:53 -08:00
crypto.h
cryptohash.h
cryptouser.h
cs5535.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_drv.h
cycx_x25.h
davinci_emac.h
dca.h
dcache.h vfs: remove DCACHE_NEED_LOOKUP 2012-12-20 13:57:36 -05:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
devfreq.h
device_cgroup.h
device-mapper.h dm: remove map_info 2012-12-21 20:23:41 +00:00
device.h Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-12-14 09:59:59 -08:00
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm_plock.h
dlm.h
dm9000.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dma_remapping.h
dma-attrs.h
dma-buf.h dma-buf: remove fallback for !CONFIG_DMA_SHARED_BUFFER 2012-12-20 12:05:06 +05:30
dma-contiguous.h
dma-debug.h
dma-direction.h
dma-mapping.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd_genl_api.h
drbd_genl.h
drbd_limits.h
drbd.h
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h
dw_dmac.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h efi: Make 'efi_enabled' a function to query EFI facilities 2013-01-30 11:51:59 -08:00
efs_vh.h
eisa.h
elevator.h init, block: try to load default elevator module early during boot 2013-01-18 14:05:56 -08:00
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h Merge branch 'for-3.8' of git://linux-nfs.org/~bfields/linux 2012-12-20 14:04:11 -08:00
ext2_fs.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
font.h
freezer.h Merge branch 'for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup 2012-12-12 08:18:24 -08:00
frontswap.h
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h Merge branch 'fscache' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into for-linus 2012-12-20 18:49:14 -05:00
fscache-cache.h FS-Cache: Mark cancellation of in-progress operation 2012-12-20 22:34:00 +00:00
fscache.h FS-Cache: Provide proper invalidation 2012-12-20 22:04:07 +00:00
fsl_devices.h
fsl_hypervisor.h
fsl-diu-fb.h
fsnotify_backend.h
fsnotify.h
ftrace_event.h tracing: Consolidate max_tr into main trace_array structure 2013-03-15 00:35:40 -04:00
ftrace_irq.h
ftrace.h ftrace: Move ARCH_SUPPORTS_FTRACE_SAVE_REGS in Kconfig 2013-01-21 13:22:35 -05:00
futex.h
gameport.h
gcd.h
genalloc.h
generic_acl.h
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm: allocate kernel pages to the right memcg 2012-12-18 15:02:12 -08:00
gpio_keys.h
gpio_mouse.h
gpio-fan.h
gpio-pxa.h
gpio.h
gsmmux.h
hardirq.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-02-19 18:19:48 -08:00
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h HID: sensors: autodetect USB HID sensor hubs 2012-12-12 16:49:10 +01:00
hid.h Merge branches 'for-3.7/upstream-fixes', 'for-3.8/hidraw', 'for-3.8/i2c-hid', 'for-3.8/multitouch', 'for-3.8/roccat', 'for-3.8/sensors' and 'for-3.8/upstream' into for-linus 2012-12-12 21:41:55 +01:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
htirq.h
huge_mm.h Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
hugetlb_cgroup.h mm/hugetlb: create hugetlb cgroup file in hugetlb_init 2012-12-18 15:02:15 -08:00
hugetlb_inline.h
hugetlb.h Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-mux-gpio.h
i2c-mux-pinctrl.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-tegra.h
i2c-xiic.h
i2c.h
i2o.h
i7300_idle.h
i8042.h
i8253.h
i82593.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h ima: support new kernel module syscall 2012-12-14 13:05:26 +10:30
in6.h
in.h
inet_diag.h
inet_lro.h
inet.h
inetdevice.h
init_ohci1394_dma.h
init_task.h sched/rt: Add <linux/sched/rt.h> header to <linux/init_task.h> 2013-02-19 08:06:01 +01:00
init.h Merge branch 'master' into for-3.9-async 2013-01-23 09:31:01 -08:00
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel_mid_dma.h
intel_pmic_gpio.h
intel-iommu.h
interrupt.h lib: cpu_rmap: avoid flushing all workqueues 2013-01-11 14:54:54 -08:00
interval_tree_generic.h
interval_tree.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iommu-helper.h
iommu.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc_namespace.h ipc: add sysctl to specify desired next object id 2013-01-04 16:11:45 -08:00
ipc.h
ipmi_smi.h
ipmi.h
ipv6_route.h
ipv6.h
irq_cpustat.h
irq_work.h Merge branch 'nohz/printk-v8' into irq/core 2013-02-05 00:48:46 +01:00
irq.h x86, msi: Use IRQ remapping specific setup_msi_irqs routine 2013-01-28 12:17:25 +01:00
irqdesc.h
irqdomain.h
irqflags.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
jbd2.h ext4: fix deadlock in journal_unmap_buffer() 2012-12-25 13:29:52 -05:00
jbd_common.h
jbd.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jz4740-adc.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kcmp.h
kconfig.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel_stat.h cputime: Generic on-demand virtual cputime accounting 2013-01-27 19:23:27 +01:00
kernel-page-flags.h
kernel.h tracing: Optimize trace_printk() with one arg to use trace_puts() 2013-03-15 00:35:56 -04:00
kernelcapi.h
kexec.h
key-type.h
key.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2012-12-16 15:40:50 -08:00
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmalloc_sizes.h
kmemcheck.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h
kprobes.h kprobes/x86: Move ftrace-based kprobe code into kprobes-ftrace.c 2013-01-21 13:22:36 -05:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h cputime: Safely read cputime of full dynticks CPUs 2013-01-27 20:35:47 +01:00
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-lm3530.h
leds_pwm.h
leds-bd2802.h
leds-lp3944.h
leds-lp5521.h
leds-lp5523.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h
lglock.h
lguest_launcher.h
lguest.h
libata.h [libata] replace sata_settings with devslp_timing 2013-01-14 13:29:15 -05:00
libfdt_env.h
libfdt.h
libps2.h
license.h
linkage.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_nulls.h
list_sort.h
list.h
llc.h
llist.h llist/xen-blkfront: implement safe version of llist_for_each_entry 2012-12-17 21:55:56 -05:00
lockdep.h lockdep, rwsem: provide down_write_nest_lock() 2013-01-11 14:54:55 -08:00
log2.h
loop.h
lp.h
lru_cache.h Merge branch 'for-3.8/drivers' of git://git.kernel.dk/linux-block 2012-12-17 13:39:11 -08:00
lsm_audit.h
lzo.h
m48t86.h
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
memblock.h
memcontrol.h memcg: fix typo in kmemcg cache walk macro 2013-02-05 20:38:48 +11:00
memory_hotplug.h mm, memory-hotplug: dynamic configure movable memory and portion memory 2012-12-11 17:22:28 -08:00
memory.h hotplug: update nodemasks management 2012-12-12 17:38:33 -08:00
mempolicy.h mm: mempolicy: Convert shared_policy mutex to spinlock 2013-01-02 17:32:13 -08:00
mempool.h
memstick.h
mg_disk.h
micrel_phy.h
migrate_mode.h
migrate.h Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h
mm_types.h Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux 2012-12-18 10:56:07 -08:00
mm.h mm: compaction: partially revert capture of suitable high-order page 2013-01-11 14:54:56 -08:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mm: fix wrong comments about anon_vma lock 2013-02-05 20:38:48 +11:00
mmzone.h mm: fix zone_watermark_ok_safe() accounting of isolated pages 2013-01-04 16:11:46 -08:00
mnt_namespace.h
mod_devicetable.h
module.h module: add new state MODULE_STATE_UNFORMED. 2013-01-12 13:27:05 +10:30
moduleloader.h
moduleparam.h moduleparam: use __UNIQUE_ID() 2012-12-14 13:06:40 +10:30
mount.h
mpage.h
mpi.h
mroute6.h
mroute.h
msdos_fs.h
msg.h selftests: IPC message queue copy feature test 2013-01-04 16:11:45 -08:00
msi.h
msm_mdp.h
mutex-debug.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mxm-wmi.h
mxsfb.h
n_r3964.h
namei.h namei.h: include errno.h 2012-12-25 18:45:06 -05:00
nbd.h
net.h
netdev_features.h
netdevice.h net, wireless: overwrite default_ethtool_ops 2013-01-11 15:55:48 -08:00
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink.h
netpoll.h
nfs3.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h
nfs_idmap.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h NFSv4.1: Move the RPC timestamp out of the slot. 2012-12-15 15:21:52 -05:00
nfs.h
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h
node.h mm: cleanup register_node() 2012-12-11 17:22:27 -08:00
nodemask.h numa: add CONFIG_MOVABLE_NODE for movable-dedicated node 2012-12-12 17:38:34 -08:00
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvme.h
nvram.h
nwpserial.h
nx842.h
of_address.h
of_device.h
of_fdt.h
of_gpio.h
of_i2c.h
of_iommu.h
of_irq.h
of_mdio.h
of_mtd.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h of: define struct device in of_platform.h if !OF_DEVICE and !OF_ADDRESS 2012-12-19 16:15:17 +00:00
of_serial.h
of.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-12-18 09:58:09 -08:00
oid_registry.h
olpc-ec.h
omap-dma.h
omap-iommu.h
omapfb.h
oom.h mm, oom: fix race when specifying a thread as the oom origin 2012-12-11 17:22:27 -08:00
openvswitch.h
opp.h
oprofile.h
oxu210hp.h
padata.h
page_cgroup.h
page-debug-flags.h
page-flags.h mm: Fix PageHead when !CONFIG_PAGEFLAGS_EXTENDED 2012-12-26 14:57:34 -08:00
page-isolation.h
pageblock-flags.h
pagemap.h mm: introduce a common interface for balloon pages mobility 2012-12-11 17:22:26 -08:00
pagevec.h
parport_pc.h
parport.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h
pci_ids.h PCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz 2012-12-26 10:43:06 -07:00
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma.h
pci.h PCI/MSI: Enable multiple MSIs with pci_enable_msi_block_auto() 2013-01-24 17:25:13 +01:00
pcieport_if.h
pda_power.h
percpu_counter.h
percpu-defs.h
percpu-rwsem.h percpu_rw_semaphore: add lockdep annotations 2012-12-17 17:15:18 -08:00
percpu.h
perf_event.h perf: Introduce hw_perf_event->tp_target and ->tp_list 2013-02-08 18:28:02 +01:00
perf_regs.h
personality.h
pfn.h
phonedev.h
phonet.h
phy_fixed.h
phy.h
pid_namespace.h pidns: Stop pid allocation when init dies 2012-12-25 16:10:05 -08:00
pid.h pidns: Stop pid allocation when init dies 2012-12-25 16:10:05 -08:00
pim.h
pipe_fs_i.h
pktcdvd.h
platform_device.h
plist.h
pm_clock.h
pm_domain.h
pm_qos.h
pm_runtime.h
pm_wakeup.h
pm.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix-clock.h
posix-timers.h
power_supply.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pps-gpio.h
preempt.h
prefetch.h
printk.h
prio_heap.h
proc_fs.h Merge branch 'akpm' (Andrew's patch-bomb) 2012-12-17 20:58:12 -08:00
profile.h profiling: Remove unused timer hook 2013-01-24 15:37:26 +01:00
projid.h
proportions.h
pstore_ram.h pstore: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
pstore.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptrace.h ia64: kill thread_matches(), unexport ptrace_check_attach() 2013-01-20 12:26:05 -08:00
pvclock_gtod.h
pwm_backlight.h
pwm.h
pxa2xx_ssp.h
pxa168_eth.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h prandom: introduce prandom_bytes() and prandom_bytes_state() 2012-12-17 17:15:26 -08:00
range.h
ratelimit.h
rational.h
rbtree_augmented.h lib/rbtree.c: avoid the use of non-static __always_inline 2013-01-11 14:54:56 -08:00
rbtree.h
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate.h Merge branches 'doctorture.2013.01.29a', 'fixes.2013.01.26a', 'tagcb.2013.01.24a' and 'tiny.2013.01.29b' into HEAD 2013-01-28 22:25:21 -08:00
rcutiny.h
rcutree.h
reboot.h
reciprocal_div.h
regmap.h
regset.h
relay.h
remoteproc.h
res_counter.h res_counter: return amount of charges after res_counter_uncharge() 2012-12-18 15:02:12 -08:00
resource.h
resume-trace.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
ring_buffer.h tracing/ring-buffer: Move poll wake ups into ring buffer code 2013-03-15 00:34:50 -04:00
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h
rndis.h
root_dev.h
rotary_encoder.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h NTP: Add a CONFIG_RTC_SYSTOHC configuration 2013-01-15 18:16:06 -08:00
rtmutex.h
rtnetlink.h
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem-spinlock.h
rwsem.h lockdep, rwsem: fix down_write_nest_lock() if !CONFIG_DEBUG_LOCK_ALLOC 2013-01-16 12:13:20 -08:00
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
scc.h
sched.h sched/rt: Move rt specific bits into new header file 2013-02-07 20:51:08 +01:00
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdla.h
seccomp.h
securebits.h
security.h tun: fix LSM/SELinux labeling of tun/tap devices 2013-01-14 18:16:59 -05:00
selection.h
selinux.h
sem.h
semaphore.h
seq_file_net.h
seq_file.h
seqlock.h
serial_8250.h
serial_core.h
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_sci.h
serial.h
serio.h
sfi_acpi.h
sfi.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_pfc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h new helpers: __save_altstack/__compat_save_altstack, switch x86 and um to those 2012-12-19 18:07:41 -05:00
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h
slab_def.h slab/slub: struct memcg_params 2012-12-18 15:02:13 -08:00
slab.h slab: propagate tunable values 2012-12-18 15:02:14 -08:00
slob_def.h
slub_def.h slub: slub-specific propagation changes 2012-12-18 15:02:14 -08:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h smpboot: Allow selfparking per cpu threads 2013-02-14 15:29:37 +01:00
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h
splice.h
srcu.h srcu: Remove checks preventing idle CPUs from calling srcu_read_lock() 2013-02-07 15:15:00 -08:00
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stmmac.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
stmp_device.h
stop_machine.h
string_helpers.h
string.h string: introduce helper to get base file name from given path 2012-12-17 17:15:17 -08:00
stringify.h
sungem_phy.h
sunserialcore.h
sunxi_timer.h
superhyway.h
suspend.h
svga.h
swab.h
swap.h
swapfile.h
swapops.h
swiotlb.h
synclink.h
sys_soc.h
sys.h
syscalls.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
syscore_ops.h
sysctl.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
task_io_accounting_ops.h
task_io_accounting.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tegra-ahb.h
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h Thermal: Fix DEFAULT_THERMAL_GOVERNOR 2012-12-12 15:34:48 +08:00
thread_info.h fork: protect architectures where THREAD_SIZE >= PAGE_SIZE against fork bombs 2012-12-18 15:02:13 -08:00
threads.h
ti_wilink_st.h
tick.h Merge branch 'nohz/printk-v8' into irq/core 2013-02-05 00:48:46 +01:00
tifm.h
timb_dma.h
timb_gpio.h
time-armada-370-xp.h
time.h time, Fix setting of hardware clock in NTP code 2013-02-08 15:07:05 -08:00
timekeeper_internal.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
toshiba.h
tpm_command.h
tpm.h
trace_clock.h
trace_seq.h
tracehook.h
tracepoint.h
transport_class.h
tsacct_kern.h cputime: Use accessors to read task cputime stats 2013-01-27 19:23:31 +01:00
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h
typecheck.h
types.h mm, oom: fix race when specifying a thread as the oom origin 2012-12-11 17:22:27 -08:00
u64_stats_sync.h
uaccess.h
ucb1400.h
udp.h
uidgid.h
uinput.h
uio_driver.h
uio.h
uprobes.h uprobes: Introduce uprobe_apply() 2013-02-08 18:28:04 +01:00
usb_usual.h
usb.h USB: add usb_hcd_{start,end}_port_resume 2013-01-25 15:06:01 -08:00
usbdevice_fs.h
user_namespace.h
user-return-notifier.h
user.h
uts.h
utsname.h
uuid.h
uwb.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
via_i2c.h
via-core.h
via-gpio.h
via.h
video_output.h
videodev2.h
virtio_config.h
virtio_console.h
virtio_mmio.h
virtio_ring.h
virtio_scsi.h
virtio.h virtio: add drv_to_virtio to make code clearly 2012-12-18 15:20:43 +10:30
vlynq.h
vm_event_item.h Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
vmalloc.h
vme.h
vmstat.h
vt_buffer.h
vt_kern.h
vt.h
vtime.h cputime: Safely read cputime of full dynticks CPUs 2013-01-27 20:35:47 +01:00
w1-gpio.h
wait.h
wanrouter.h
watchdog.h watchdog: WatchDog Timer Driver Core: fix comment 2012-12-19 22:24:55 +01:00
wireless.h
wl12xx.h
wm97xx.h
workqueue.h workqueue: rename cpu_workqueue to pool_workqueue 2013-02-13 19:29:12 -08:00
writeback.h
xattr.h
xilinxfb.h
xz.h
yam.h
z2_battery.h
zconf.h
zlib.h
zorro_ids.h
zorro.h
zutil.h