linux/arch/s390
Robert Richter a0d76247e0 oprofile, s390: Rework hwsampler implementation
This patch is a rework of the hwsampler oprofile implementation that
has been applied recently. Now there are less non-architectural
changes. The only changes are:

* introduction of oprofile_add_ext_hw_sample(), and
* removal of section attributes of oprofile_timer_init/_exit().

To setup hwsampler for oprofile we need to modify start()/stop()
callbacks and additional hwsampler control files in oprofilefs. We do
not reinitialize the timer or hwsampler mode by restarting calling
init/exit() anymore, instead hwsampler_running is used to switch the
mode directly in oprofile_hwsampler_start/_stop(). For locking reasons
there is also hwsampler_file that reflects the value in oprofilefs.

The overall diffstat of the oprofile s390 hwsampler implemenation
shows the low impact to non-architectural code:

 arch/Kconfig                         |    3 +
 arch/s390/Kconfig                    |    1 +
 arch/s390/oprofile/Makefile          |    2 +-
 arch/s390/oprofile/hwsampler.c       | 1256 ++++++++++++++++++++++++++++++++++
 arch/s390/oprofile/hwsampler.h       |  113 +++
 arch/s390/oprofile/hwsampler_files.c |  162 +++++
 arch/s390/oprofile/init.c            |    6 +-
 drivers/oprofile/cpu_buffer.c        |   24 +-
 drivers/oprofile/timer_int.c         |    4 +-
 include/linux/oprofile.h             |    7 +
 10 files changed, 1567 insertions(+), 11 deletions(-)

Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Robert Richter <robert.richter@amd.com>
2011-02-15 11:10:20 +01:00
..
appldata [S390] appldata: fix dev_get_stats 64 bit conversion 2010-08-13 10:06:55 +02:00
boot [S390] Add support for LZO-compressed kernels. 2010-05-26 23:27:10 +02:00
crypto [S390] cleanup facility list handling 2010-10-25 16:10:21 +02:00
hypfs [S390] hypfs: Move buffer allocation from open to read 2011-01-05 12:47:27 +01:00
include/asm [S390] Randomize PIEs 2011-01-12 09:55:25 +01:00
kernel [S390] Randomize PIEs 2011-01-12 09:55:25 +01:00
kvm Merge branch 'kvm-updates/2.6.38' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2011-01-13 10:14:24 -08:00
lib [S390] time: let local_tick_enable/disable() reprogram the clock comparator 2011-01-05 12:47:25 +01:00
math-emu tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
mm [S390] Randomize mmap start address 2011-01-12 09:55:25 +01:00
oprofile oprofile, s390: Rework hwsampler implementation 2011-02-15 11:10:20 +01:00
Kbuild [S390] standardize Kbuild rules 2010-10-25 16:10:14 +02:00
Kconfig oprofile, s390: Add support for hardware based sampling on System z processors 2011-02-15 11:08:19 +01:00
Kconfig.debug [S390] cleanup s390 Kconfig 2011-01-05 12:47:23 +01:00
Makefile [S390] Add config option for z196 code generation. 2010-10-25 16:10:15 +02:00
defconfig [S390] Update default configuration 2011-01-12 09:55:24 +01:00