• Hendrik Brueckner's avatar
    s390/cpum_sf: correctly set the PID and TID in perf samples · 544e8dd7
    Hendrik Brueckner authored
    The hardware sampler creates samples that are processed at a later
    point in time.  The PID and TID values of the perf samples that are
    created for hardware samples are initialized with values from the
    current task.  Hence, the PID and TID values are not correct and
    perf samples are associated with wrong processes.
    
    The PID and TID values are obtained from the Host Program Parameter
    (HPP) field in the basic-sampling data entries.  These PIDs are
    valid in the init PID namespace.  Ensure that the PIDs in the perf
    samples are resolved considering the PID namespace in which the
    perf event was created.
    
    To correct the PID and TID values in the created perf samples,
    a special overflow handler is installed.  It replaces the default
    overflow handler and does not become effective if any other
    overflow handler is used.  With the special overflow handler most
    of the perf samples are associated with the right processes.
    For processes, that are no longer exist, the association might
    still be wrong.
    Signed-off-by: default avatarHendrik Brueckner <brueckner@linux.vnet.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    544e8dd7
perf_cpum_sf.c 57.5 KB