Details
- Reviewers
- None
- Group Reviewers
DTrace - Commits
- rS285004: Add a central location for exclusion checks. We check
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
sys/cddl/dev/fbt/fbt.c | ||
---|---|---|
133–134 ↗ | (On Diff #6431) | How about something like the following? When DTrace is built into the kernel we need to exclude the FBT functions from instrumentation. |
sys/cddl/dev/fbt/fbt.c | ||
---|---|---|
132–137 ↗ | (On Diff #6431) | This will apply to all archs. |
sys/cddl/dev/fbt/fbt.c | ||
---|---|---|
132–137 ↗ | (On Diff #6431) | This isn't foolproof: what if one enables both fbt::systrace_probe:entry and a syscall probe? I think we've discussed this problem before, but there isn't an obvious/straightforward solution. It seems to me that fixing this properly will involve something along the lines of: identify object files we want to avoid tracing, modify the build to dump their symbols and generate a table that's linked into fbt.ko or the kernel, and use the table to do lookups in fbt_excluded(). I don't object to this change, but it doesn't seem like the right approach to me. Perhaps it should at least be conditionalized on #ifndef _KLD_MODULE? |
sys/cddl/dev/fbt/fbt.c | ||
---|---|---|
132–137 ↗ | (On Diff #6431) |
Seems like that would be a reasonable interim solution. |