| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @pablogsal for commit 8b228c0 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F136500%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
Sorry, something went wrong.
Sorry, something went wrong.
|
!buildbot perf |
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @pablogsal for commit b174fe8 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F136500%2Fmerge The command will test the builders whose names match following regular expression: perf The builders matched are:
|
Sorry, something went wrong.
There was a problem hiding this comment.
Thanks!
Do you think it's possible to remove this skipUnless now?
cpython/Lib/test/test_perf_profiler.py
Lines 407 to 410 in d754f75
(also I think there is a typo in that string. Probably was meant to say "Unwinding is unreliable without frame pointers".)
Sorry, something went wrong.
|
I don't think we can. I am pretty sure Perf will still choke without frame pointers in the outer functions and fail the test. The sentence is indeed confusing but is trying to say that unwinding using frame pointers is unreliable as "not working" |
Sorry, something went wrong.
|
@canova I am AFK do you mind checking in case we are lucky? |
Sorry, something went wrong.
|
Ah that's right. If we add a test with samply, then we might be able to run that test with and without frame pointers then. |
Sorry, something went wrong.
Just did, and unfortunately, we are not lucky :') still fails. |
Sorry, something went wrong.
|
Added the same comment to the other PR, but adding here for posterity: Tested this PR using samply. I can verify that it fixes the stack walking! Here are before and after profiles: |
Sorry, something went wrong.
|
!buildbot Perf |
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @pablogsal for commit b174fe8 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F136500%2Fmerge The command will test the builders whose names match following regular expression: Perf The builders matched are:
|
Sorry, something went wrong.
|
Thank you for making this change! If the Python C code is compiled with framepointers, I believe this change will also improve unwinding when you use Linux perf with framepointer unwinding (perf record -g); it should now give complete stacks, whereas in the past, I think the immediate caller of the trampoline (py_trampoline_evaluator) would have been missing from the stack. Oh, and one other thing I want to mention: samply supports both macOS and Linux, and this patch helps with both, so it's not strictly related to just #136459. |
Sorry, something went wrong.
The profiles that I captured were actually from Linux x86_64. I should have mentioned that too :) |
Sorry, something went wrong.
It does not unfortunately. See #136500 (comment) and #136500 (review) |
Sorry, something went wrong.
it chokes on it and stops at that frame (like any other unwinder on the landscape) :S We are having that problem here for the big JIT and is a real pain: #126910 |
Sorry, something went wrong.
|
!buildbot Fedora Stable |
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @pablogsal for commit 8a81457 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F136500%2Fmerge The command will test the builders whose names match following regular expression: Fedora Stable The builders matched are:
|
Sorry, something went wrong.
|
Thanks @pablogsal for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14. |
Sorry, something went wrong.
…nd aarch64 (pythonGH-136500) This commit fixes the following problems: * The x86_64 trampolines are not preserving frame pointers * The hardcoded offsets to the code segment from the FDE only worked properly for x64_64 * The CIE data was not following conventions of aarch64 * The eh_frame for aarch64 was not fully correct (cherry picked from commit 236f733) Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
|
Sorry, @pablogsal, I could not cleanly backport this to 3.13 due to a conflict. cherry_picker 236f733d8ffb3d587e1167fa0a0248c24512e7fd 3.13 |
Sorry, something went wrong.
|
GH-136544 is a backport of this pull request to the 3.14 branch. |
Sorry, something went wrong.
…86_64 and aarch64 (pythonGH-136500) This commit fixes the following problems: * The x86_64 trampolines are not preserving frame pointers * The hardcoded offsets to the code segment from the FDE only worked properly for x64_64 * The CIE data was not following conventions of aarch64 * The eh_frame for aarch64 was not fully correct (cherry picked from commit 236f733) Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
|
GH-136545 is a backport of this pull request to the 3.13 branch. |
Sorry, something went wrong.
…and aarch64 (GH-136500) (#136545) This commit fixes the following problems: * The x86_64 trampolines are not preserving frame pointers * The hardcoded offsets to the code segment from the FDE only worked properly for x64_64 * The CIE data was not following conventions of aarch64 * The eh_frame for aarch64 was not fully correct (cherry picked from commit 236f733)
…and aarch64 (GH-136500) (#136544) gh-136541: Fix several problems of perf trampolines in x86_64 and aarch64 (GH-136500) This commit fixes the following problems: * The x86_64 trampolines are not preserving frame pointers * The hardcoded offsets to the code segment from the FDE only worked properly for x64_64 * The CIE data was not following conventions of aarch64 * The eh_frame for aarch64 was not fully correct (cherry picked from commit 236f733) Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
…nd aarch64 (python#136500) This commit fixes the following problems: * The x86_64 trampolines are not preserving frame pointers * The hardcoded offsets to the code segment from the FDE only worked properly for x64_64 * The CIE data was not following conventions of aarch64 * The eh_frame for aarch64 was not fully correct
…nd aarch64 (python#136500) This commit fixes the following problems: * The x86_64 trampolines are not preserving frame pointers * The hardcoded offsets to the code segment from the FDE only worked properly for x64_64 * The CIE data was not following conventions of aarch64 * The eh_frame for aarch64 was not fully correct
…nd aarch64 (python#136500) This commit fixes the following problems: * The x86_64 trampolines are not preserving frame pointers * The hardcoded offsets to the code segment from the FDE only worked properly for x64_64 * The CIE data was not following conventions of aarch64 * The eh_frame for aarch64 was not fully correct
…nd aarch64 (python#136500) This commit fixes the following problems: * The x86_64 trampolines are not preserving frame pointers * The hardcoded offsets to the code segment from the FDE only worked properly for x64_64 * The CIE data was not following conventions of aarch64 * The eh_frame for aarch64 was not fully correct
…86_64 and aarch64 (pythonGH-136500) (python#136544) pythongh-136541: Fix several problems of perf trampolines in x86_64 and aarch64 (pythonGH-136500) This commit fixes the following problems: * The x86_64 trampolines are not preserving frame pointers * The hardcoded offsets to the code segment from the FDE only worked properly for x64_64 * The CIE data was not following conventions of aarch64 * The eh_frame for aarch64 was not fully correct (cherry picked from commit 236f733) Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
| Back | FazBrowse Home | New Git URL |
Fix the following problems: