Page MenuHomeFreeBSD

Further tuning of DTrace stack unwinding on ARMv[67]
AcceptedPublic

Authored by rwatson on Oct 4 2015, 11:21 AM.
Tags
Referenced Files
Unknown Object (File)
Feb 21 2024, 12:58 PM
Unknown Object (File)
Jan 1 2024, 2:49 AM
Unknown Object (File)
Nov 8 2023, 2:40 AM
Unknown Object (File)
Nov 8 2023, 2:23 AM
Unknown Object (File)
Nov 7 2023, 1:43 AM
Unknown Object (File)
Nov 4 2023, 6:56 PM
Unknown Object (File)
Oct 7 2023, 1:37 AM
Unknown Object (File)
Oct 7 2023, 1:21 AM
Subscribers

Details

Reviewers
andrew
gnn
bz
br
Summary

A variety of minor tweaks to DTrace stack unwinding on ARMv[67], including:

  • Be more robust to invalid stack state, such as potentially invalid PC values
  • Better adjust number of frames skipped in various situations (e.g., SDT, FBT, etc)
Test Plan

Deployed in Cambridge L41 2014-2015.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

rwatson retitled this revision from to Further tuning of DTrace stack unwinding on ARMv[67].
rwatson updated this object.
rwatson edited the test plan for this revision. (Show Details)
rwatson added reviewers: andrew, br, bz.
rwatson set the repository for this revision to rS FreeBSD src repository - subversion.
rwatson added a project: ARM.
rwatson edited edge metadata.

Updated diff from svn contains further context; no functional change.

gnn edited edge metadata.
This revision is now accepted and ready to land.Oct 5 2015, 2:40 PM

Is the change to the number of frames to unwind correct? The change to move the call to dtrace_invop_jump_addr to asm doesn't seem to have made it into HEAD.

Should be fine for SDT, but I've not tried FBT, and as you point out, stack layout may differ a bit. I will try to give that a test run in isolation from the unupstreamed dtrace_invop_jump_addr change. We really do need to upstream the latter -- is that in your court?