• Robert Richter's avatar
    oprofile, s390: Rework hwsampler implementation · a0d76247
    Robert Richter authored
    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: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: default avatarRobert Richter <robert.richter@amd.com>
    a0d76247
oprof.c 4.8 KB