-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
modules: purge linked-in shared ctf.ko module support
The original design for CTF in DTrace for Linux had all CTF linked into kernel modules in the .ctf section. This worked fine except that a lot of CTF has no corresponding module file on disk: built-in modules, the core kernel, and shared CTF. So we linked all of those into a fake module named ctf.ko, with section names akin to .ctf.$MODULE. This led to a pile of complexity in dt_module, since one ctf.ko, uniquely among ELF files loaded for CTF, could have multiple dt_modules associated with it, with section names that were constructed on the fly and hence needed dynamic allocation. No less than two new module flags were needed to track all of this, and it was a perennial source of rarely-spotted bugs (since out-of-tree modules, in particular, are rarely tested). Now that all in-kernel CTF has been stored in vmlinux.ctfa for almost five years (the last kernel to support the ctf.ko fake module was 4.1-era, and no such ancient kernel has a hope of having good enough BPF support to work with DTrace) we can rip all this out. Support for loading shared CTF from anywhere other than vmlinux.ctfa is removed in the process: the only other source of shared CTF is .ctf in userspace, and if we ever support that it will be loaded by ctf_open and we won't need to do anything special at all. Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Reviewed-by: Eugene Loh <eugene.loh@oracle.com> Reviewed-by: Kris Van Hees <kris.van.hees@oracle.com>
- Loading branch information
1 parent
44f72b1
commit 9b8733b
Showing
3 changed files
with
44 additions
and
164 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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