跳转标签修补是Linux内核中的一种巧妙机制,允许进行分支优化。一般来说,一些分支机构检查一个"静态"条件不太可能改变。用于此机制的一个示例是在内核跟踪中,其中' if'语句将检查变量以确定是否应在跟踪点发出跟踪数据。而不是进行比较和分支,启用跟踪只会修补“如果'声明无条件跳转而禁用跟踪会将其修补为一个nop。
更多信息:https://lwn.net/Articles/412072/
我想知道这个机制是否也可以在用户空间中使用。显然,所需要的只是编译器和硬件支持,因此没有明显的理由说明为什么这对用户空间也不可用。