专栏名称: Linux爱好者
伯乐在线旗下账号,「Linux爱好者」专注分享 Linux/Unix 相关内容,包括:工具资源、使用技巧、课程书籍等。
目录
相关文章推荐
今天看啥  ›  专栏  ›  Linux爱好者

Linus::我略微出手修改几行内核代码就提升了2.6%性能

Linux爱好者  · 公众号  · linux  · 2024-11-04 09:06
    

文章预览

Linus Torvalds 本周三向内核合并了自己编写的一个补丁,该补丁通过修改几行代码,就在英特尔的某项性能基准测试中(名为"will it scale"的 per-thread-ops 基准测试) 实现了 2.6% 的性能提升 。 根据介绍,这个补丁的目的是避免在 64 位 copy_from_user () 函数中使用 barrier_nospec ()。copy_from_user () 用于将数据块从用户空间复制到内核空间。 Linus 解释道: “64 位 copy_from_user () 中的 barrier_nospec () 函数运行速度很慢。 如果地址无效,可以使用 pointer masking 来强制用户指针全为 1。” 整体的代码改动如下(有请懂的大佬在评论区解读一波): @@ -38,6 +38,7 @@ #else #define can_do_masked_user_access() 0 #define masked_user_access_begin(src) NULL + #define mask_user_address(src) (src) #endif /* @@ -159,19 +160,27 @@ _inline_copy_from_user(void *to, const void __user *from, unsigned long n) { unsigned long res = n; might_fault( ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览