-
Notifications
You must be signed in to change notification settings - Fork 61.4k
Comparing changes
Open a pull request
base repository: torvalds/linux
base: master
head repository: Granulate/linux
compare: granulate-perf
- 13 commits
- 13 files changed
- 6 contributors
Commits on Apr 27, 2021
-
perf probe: Add support for DW_OP_call_frame_cfa vars
Add support for probes on variables with DW_OP_call_frame_cfa as the dwarf operation in the debug info. Some compilers (specifically Golang compiler) output DW_OP_call_frame_cfa instead of DW_OP_fbreg for variables on the stack. If DW_OP_call_frame_cfa is the only expression than it is the same as DW_OP_fbreg with an offset of zero. In the case of the Golang compiler, DW_OP_call_frame_cfa may be followed by DW_OP_consts, with a number and than DW_OP_plus. This trio is the same as DW_OP_fbreg with the number from DW_OP_consts as the offset. With this change, probing on functions in Golang with variables works. Signed-off-by: Daniel Shaulov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 35d307e - Browse repository at this point
Copy the full SHA 35d307eView commit details -
perf: Change libdw libraries to support elfutils>=0.178
Up untill now, static compilation of perf was still trying to dynamically load the backends for libebl. Starting with version 0.178 of elfutils, libebl no longer needs to dynamicall load backends. This means that perf compiled statically with elfutils>=0.178 is trully static. In elfutils 0.178, libebl is also no longer a standalone library, it is included as part of libdw, so there is no longer a need for -lebl. Also - some of the backends required -lpthread, and since they are now included in the static build, we also need to add -lpthread. This change does not support older versions of elfutils. Signed-off-by: Daniel Shaulov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3bfa53d - Browse repository at this point
Copy the full SHA 3bfa53dView commit details -
perf probe: Make perf-probe use symbols when debuginfo is incomplete
When a binary has debug symbols, but they are incomplete, some files compiled with debug info and some didn't, perf-probe will look for the debuginfo, and when it fails to find it will refuse to add the probe. If the debug info is removed entirely perf-probe gracefully degrades to using symbols. This commit adds the fallback to symbols for cases where dwarf exists but fails The issue was found with a nodejs binary which ships with debug info only for the '.c' files but no for '.cc' (c++) files, and trying to probe a c++ function. Signed-off-by: Daniel Shaulov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2c7eac4 - Browse repository at this point
Copy the full SHA 2c7eac4View commit details -
perf probe: Add uint8* as a supported string type
When trying to cast a probe variable to string, the type is checked to be "(unsigned) char *". In Golang debug info, the strings are ultimately "uint8 *", so the cast fails. This commit adds the type to the list of types that can be casted to string, and also prints the type when it is found to not match one the types, for easier debugging of future issues. Signed-off-by: Daniel Shaulov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9be7a5e - Browse repository at this point
Copy the full SHA 9be7a5eView commit details -
Add a Dockerfile that can be used to build a static perf The image is based on ubunut:16.04 to have a libc that supports older kernel versions. To build a static perf using the Dockerfile you can run the following (at the repo root): docker build -t buildbox - < tools/perf/Dockerfile docker run -v $PWD:/linux -w /linux/tools/perf buildbox sh -c "make clean all LDFLAGS=-static" Signed-off-by: Daniel Shaulov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ba27760 - Browse repository at this point
Copy the full SHA ba27760View commit details -
perf inject: Keep previous cmdline
Force "perf inject" to write the cmdline it has read from the input file, instead of writing its own cmdline. "perf inject" cmdline is hardly useful, "perf record"s is what we care about. Do note it's not exactly complete - I did not change write_cmdline() so that one still writes readlink("/proc/self/exe") of "perf inject" as the argv[0], and we drop the argv[0] we've read from the file. Unless you use different "perf" binaries for "record" and "inject", this doesn't matter. Signed-off-by: Yonatan Goldschmidt <[email protected]>Configuration menu - View commit details
-
Copy full SHA for 5ad1beb - Browse repository at this point
Copy the full SHA 5ad1bebView commit details
Commits on May 9, 2021
-
perf: Use exec_comm instead of comm when printing
Process names are much clearer as the first line in a flamegraph If we ever want to upstream this, it needs to be a separate option
Configuration menu - View commit details
-
Copy full SHA for 40a7823 - Browse repository at this point
Copy the full SHA 40a7823View commit details
Commits on Sep 20, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 37e33e6 - Browse repository at this point
Copy the full SHA 37e33e6View commit details
Commits on Oct 18, 2022
-
Revert "perf inject: Keep previous cmdline"
This reverts commit 5ad1beb.
Ilay Rosenberg committedOct 18, 2022 Configuration menu - View commit details
-
Copy full SHA for 9843a45 - Browse repository at this point
Copy the full SHA 9843a45View commit details -
Configuration menu - View commit details
-
Copy full SHA for fb51366 - Browse repository at this point
Copy the full SHA fb51366View commit details
Commits on Apr 25, 2023
-
perf record: Allow using switch-output=time together with signal
The use case is, I'd like to switch upon signal but still protect with a timeout.
Configuration menu - View commit details
-
Copy full SHA for aa689e9 - Browse repository at this point
Copy the full SHA aa689e9View commit details
Commits on Feb 12, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 5c103bf - Browse repository at this point
Copy the full SHA 5c103bfView commit details
Commits on Oct 22, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 9909d73 - Browse repository at this point
Copy the full SHA 9909d73View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master...granulate-perf