diff options
author | Josh Poimboeuf <[email protected]> | 2020-08-18 15:57:41 +0200 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2020-09-01 09:58:04 +0200 |
commit | 115284d89a436e9b66da0c6c4f6efded806874b2 (patch) | |
tree | 32a7cea5ea8b3669e7ba38532c3e229cb13331c6 /tools/perf/scripts/python/exported-sql-viewer.py | |
parent | 563a02b0c9704f69c0364befedd451f57fe88092 (diff) |
static_call: Add basic static call infrastructure
Static calls are a replacement for global function pointers. They use
code patching to allow direct calls to be used instead of indirect
calls. They give the flexibility of function pointers, but with
improved performance. This is especially important for cases where
retpolines would otherwise be used, as retpolines can significantly
impact performance.
The concept and code are an extension of previous work done by Ard
Biesheuvel and Steven Rostedt:
https://lkml.kernel.org/r/[email protected]
https://lkml.kernel.org/r/[email protected]
There are two implementations, depending on arch support:
1) out-of-line: patched trampolines (CONFIG_HAVE_STATIC_CALL)
2) basic function pointers
For more details, see the comments in include/linux/static_call.h.
[peterz: simplified interface]
Signed-off-by: Josh Poimboeuf <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Reviewed-by: Steven Rostedt (VMware) <[email protected]>
Cc: Linus Torvalds <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions