• Andreas Krebbel's avatar
    oprofile, s390: Add event interface to the System z hardware sampling module · dd3c4670
    Andreas Krebbel authored
    With this patch the OProfile Basic Mode Sampling support for System z
    is enhanced with a counter file system.  That way hardware sampling
    can be configured using the user space tools with only little
    modifications.
    
    With the patch by default new cpu_types (s390/z10, s390/z196) are
    returned in order to indicate that we are running a CPU which provides
    the hardware sampling facility.  Existing user space tools will
    complain about an unknown cpu type. In order to be compatible with
    existing user space tools the `cpu_type' module parameter has been
    added.  Setting the parameter to `timer' will force the module to
    return `timer' as cpu_type.  The module will still try to use hardware
    sampling if available and the hwsampling virtual filesystem will be
    also be available for configuration.  So this has a different effect
    than using the generic oprofile module parameter `timer=1'.
    
    If the basic mode sampling is enabled on the machine and the
    cpu_type=timer parameter is not used the kernel module will provide
    the following virtual filesystem:
    
    /dev/oprofile/0/enabled
    /dev/oprofile/0/event
    /dev/oprofile/0/count
    /dev/oprofile/0/unit_mask
    /dev/oprofile/0/kernel
    /dev/oprofile/0/user
    
    In the counter file system only the values of 'enabled', 'count',
    'kernel', and 'user' are evaluated by the kernel module. Everything
    else must contain fixed values.
    
    The 'event' value only supports a single event - HWSAMPLING with value
    0.
    
    The 'count' value specifies the hardware sampling rate as it is passed
    to the CPU measurement facility.
    
    The 'kernel' and 'user' flags can now be used to filter for samples
    when using hardware sampling.
    
    Additionally also the following file will be created:
    /dev/oprofile/timer/enabled
    
    This will always be the inverted value of /dev/oprofile/0/enabled. 0
    is not accepted without hardware sampling.
    Signed-off-by: default avatarAndreas Krebbel <krebbel@linux.vnet.ibm.com>
    Signed-off-by: default avatarRobert Richter <robert.richter@amd.com>
    dd3c4670
op_counter.h 578 Bytes