-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split eBPF load and attach for Go programs #1169
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1169 +/- ##
==========================================
+ Coverage 76.83% 81.15% +4.31%
==========================================
Files 136 136
Lines 11451 11497 +46
==========================================
+ Hits 8798 9330 +532
+ Misses 2121 1638 -483
+ Partials 532 529 -3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
ta.log.Warn("can't unmount pinned root. Try unmounting and removing it manually", "error", err) | ||
return | ||
func UnmountBPFFS(pinPath string, log *slog.Logger) { | ||
if err := unix.Unmount(pinPath, unix.MNT_FORCE); err != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what's the use-case behind MNT_FORCE
? I wonder if we should be using MNT_DETACH
instead...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀
@@ -9,5 +9,4 @@ import ( | |||
var ( | |||
pathRoot = tools.ProjectDir() | |||
pathOutput = path.Join(pathRoot, "testoutput") | |||
pathVarRun = path.Join(pathOutput, "run") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why has this become a problem? Not sure if related, but I noticed a few of my PRs are failing a few tests as well
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we'll be removing the BPF file system dependency, I removed all the tracking support for it. Timing is different with the new BPF cleanup and I think we don't always clean it up on time in tests.
This PR changes how we load and attach BPF programs for a few reasons:
Our previous approach was as follows:
The new approach does:
Further work is required to make the same thing happen for the user probe extensions for libssl and nodejs.
Closes #1158