But the kernel makes a lot of function calls, so even this version will have a noticeable overhead;
Exactly how noticable? I was wondering, because the erlang VM also has a similar trace capability that can be turned on and off at runtime. I don't know how it's implemented, but I doubt there's NOOP-ing of instructions involved - still, it is used in fairly performance-critical applications. I just can't help the feeling that NOOP-ing was done because modifying code on-the-fly is sexy, not because it's that much faster.
Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds