皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Linux 修复了一些 TLB 刷新被无意中跳过的问题

昨天合并到 Linux 6.15 Git 并标记为在未来几天向后移植到稳定内核系列的是 x86 内存管理修复程序,以消除可能无意中跳过 TLB 刷新的窗口。

Intel Linux 工程师修复了去年 12 月引入的一个内核错误,该错误可能会意外跳过某些转换后备缓冲区 (TLB) 刷新。

Intel 工程师 Dave Hansen 通过现已合并的补丁解决了这个问题:

“tl;dr:mm 开关代码中有一个窗口,其中设置了新的 CR3,CPU 应该为新的 mm 进行 TLB 刷新。但是 should_flush_tlb() 有一个 bug 并抑制了 flush。通过扩大 should_flush_tlb() 发送 IPI 的窗口来解决此问题。

此修复将在明天的 Linux 6.15-rc6 版本中提供,并且还向后移植以修复自引入错误以来过去六个月内稳定的 Linux 内核版本。

Linux 修复了一些 TLB 刷新被无意中跳过的问题

现在,这将导致更多的 TLB 刷新,但至少此修复预计不会对性能造成明显损害:

“这将导致更多的 TLB 刷新 IPI。但窗口相对较小,我预计这不会造成任何可衡量的性能影响。

转自 Linux Lands Fix For Some TLB Flushes Being Inadvertently Skipped – Phoronix