Conversation
This fixes the missing bits for arm64 support in quark.
First change is basically the name of the first register, so define them for
each architecture.
Second is that arm64 doesn't define an `exit_thread` in the kernel, so we had to
change the probing point to `perf_event_exit_task`.
While here also kill the `name` member of kprobe{} and just derive it from
target, so now the tracefs name will be something like:
quark_perf_event_exit_task_$PID_$QID
On another PR I'll rename kp_wake_up_new_task to kp_fork, makes little sense to
keep bringing the probe point all the way up, a kp_fork will be where we get
wherever fork is coming from, kp_exec wherever exec is coming from, and kp_exit
wherever exit is coming from.
nicholasberlin
approved these changes
Sep 12, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This fixes the missing bits for arm64 support in quark.
First change is basically the name of the first register, so define them for each architecture.
Second is that arm64 doesn't define an
exit_threadin the kernel, so we had to change the probing point toperf_event_exit_task.While here also kill the
namemember of kprobe{} and just derive it from target, so now the tracefs name will be something like: quark_perf_event_exit_task_$PID_$QIDOn another PR I'll rename kp_wake_up_new_task to kp_fork, makes little sense to keep bringing the probe point all the way up, a kp_fork will be where we get wherever fork is coming from, kp_exec wherever exec is coming from, and kp_exit wherever exit is coming from.