Patch "perf trace: Keep exited threads for summary" has been added to the 6.6-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    perf trace: Keep exited threads for summary

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     perf-trace-keep-exited-threads-for-summary.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 43b474ff9bb6ca938482882548e0860f972eee8e
Author: Michael Petlan <mpetlan@xxxxxxxxxx>
Date:   Fri Sep 27 17:19:26 2024 +0200

    perf trace: Keep exited threads for summary
    
    [ Upstream commit d29d92df410e2fb523f640478b18f70c1823e55e ]
    
    Since 9ffa6c7512ca ("perf machine thread: Remove exited threads by
    default") perf cleans exited threads up, but as said, sometimes they
    are necessary to be kept. The mentioned commit does not cover all the
    cases, we also need the information to construct the summary table in
    perf-trace.
    
    Before:
        # perf trace -s true
    
         Summary of events:
    
    After:
        # perf trace -s -- true
    
         Summary of events:
    
         true (383382), 64 events, 91.4%
    
           syscall            calls  errors  total       min       avg       max       stddev
                                             (msec)    (msec)    (msec)    (msec)        (%)
           --------------- --------  ------ -------- --------- --------- ---------     ------
           mmap                   8      0     0.150     0.013     0.019     0.031     11.90%
           mprotect               3      0     0.045     0.014     0.015     0.017      6.47%
           openat                 2      0     0.014     0.006     0.007     0.007      9.73%
           munmap                 1      0     0.009     0.009     0.009     0.009      0.00%
           access                 1      1     0.009     0.009     0.009     0.009      0.00%
           pread64                4      0     0.006     0.001     0.001     0.002      4.53%
           fstat                  2      0     0.005     0.001     0.002     0.003     37.59%
           arch_prctl             2      1     0.003     0.001     0.002     0.002     25.91%
           read                   1      0     0.003     0.003     0.003     0.003      0.00%
           close                  2      0     0.003     0.001     0.001     0.001      3.86%
           brk                    1      0     0.002     0.002     0.002     0.002      0.00%
           rseq                   1      0     0.001     0.001     0.001     0.001      0.00%
           prlimit64              1      0     0.001     0.001     0.001     0.001      0.00%
           set_robust_list        1      0     0.001     0.001     0.001     0.001      0.00%
           set_tid_address        1      0     0.001     0.001     0.001     0.001      0.00%
           execve                 1      0     0.000     0.000     0.000     0.000      0.00%
    
    [namhyung: simplified the condition]
    
    Fixes: 9ffa6c7512ca ("perf machine thread: Remove exited threads by default")
    Reported-by: Veronika Molnarova <vmolnaro@xxxxxxxxxx>
    Signed-off-by: Michael Petlan <mpetlan@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20240927151926.399474-1-mpetlan@xxxxxxxxxx
    Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index e541d0e2777ab..6fd30bddf0de9 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -5031,6 +5031,10 @@ int cmd_trace(int argc, const char **argv)
 	if (trace.summary_only)
 		trace.summary = trace.summary_only;
 
+	/* Keep exited threads, otherwise information might be lost for summary */
+	if (trace.summary)
+		symbol_conf.keep_exited_threads = true;
+
 	if (output_name != NULL) {
 		err = trace__open_output(&trace, output_name);
 		if (err < 0) {




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux