aha/include
Paul Mackerras 3cbed429a9 perf_counter: Add optional hw_perf_group_sched_in arch function
Impact: extend perf_counter infrastructure

This adds an optional hw_perf_group_sched_in() arch function that enables
a whole group of counters in one go.  It returns 1 if it added the group
successfully, 0 if it did nothing (and therefore the core needs to add
the counters individually), or a negative number if an error occurred.
It should add all the counters and enable any software counters in the
group, or else add none of them and return an error.

There are a couple of related changes/improvements in the group handling
here:

* As an optimization, group_sched_out() and group_sched_in() now check the
  state of the group leader, and do nothing if the leader is not active
  or disabled.

* We now call hw_perf_save_disable/hw_perf_restore around the complete
  set of counter enable/disable calls in __perf_counter_sched_in/out,
  to give the arch code the opportunity to defer updating the hardware
  state until the hw_perf_restore call if it wants.

* We no longer stop adding groups after we get to a group that has more
  than one counter.  We will ultimately add an option for a group to be
  exclusive.  The current code doesn't really implement exclusive groups
  anyway, since a group could end up going on with other counters that
  get added before it.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2009-01-09 16:43:42 +11:00
..
acpi ACPI: don't cond_resched() when irqs_disabled() 2008-12-19 04:38:33 -05:00
asm-arm
asm-frv
asm-generic Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2008-12-28 12:33:21 -08:00
asm-h8300
asm-m32r sched: rename SCHED_NO_NO_OMIT_FRAME_POINTER => SCHED_OMIT_FRAME_POINTER 2008-11-11 08:59:20 +01:00
asm-m68k m68k: use the new byteorder headers 2008-12-28 20:00:07 +01:00
asm-mn10300 MN10300: Fix __put_user_asm8() 2008-12-10 13:34:33 -08:00
asm-xtensa
crypto crypto: aes - Precompute tables 2008-12-25 11:05:13 +11:00
drm drm: move drm vblank initialization/cleanup to driver load/unload 2008-11-25 09:49:03 +10:00
keys KEYS: Disperse linux/key_ui.h 2008-11-14 10:39:13 +11:00
linux perf_counter: Add optional hw_perf_group_sched_in arch function 2009-01-09 16:43:42 +11:00
math-emu
media
mtd
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2008-12-28 12:49:40 -08:00
pcmcia
rdma
rxrpc
scsi [SCSI] fc_transport: fix old bug on bitflag definitions 2008-11-21 17:30:53 +09:00
sound Merge branch 'topic/udev-id-rename' into to-push 2008-12-25 11:40:34 +01:00
trace sched, trace: update trace_sched_wakeup() 2008-12-25 13:10:21 +01:00
video video: sh_mobile_lcdcfb deferred io support 2008-12-22 18:44:48 +09:00
xen xen: clean up asm/xen/hypervisor.h 2008-12-16 21:50:31 +01:00
Kbuild