我正试图用intel Vtune来描述我的代码。在查看函数调用堆栈时,看起来大部分时间花在了一个名为system_call_after_swapgs
的函数上。但是没有堆栈信息。我的问题是:
什么是system_call_after_swapgs
?我怎么知道它的来源?
答案 0 :(得分:2)
我也看到scanf("%d", &a[i])
非常高。我敢打赌,如果你进行一般探索,然后扩展前端绑定/前端延迟,你会看到很高的分支转发器数。如果是这样,这可能是针对幽灵攻击的u代码补丁的性能副作用,清除系统调用上的BTB /返回用户模式。
如果此系统有空隙,或者您有其他良好的保护措施来防止获得本地shell的攻击,您可以将BIOS恢复到不包含u代码补丁的2018年之前的版本。