v2
2026-08-18
修复坏 swap 项自旋刷屏 · v2
v2 对坏 swap 条目限速报告,区分畸形条目与设备消亡,畸形条目直接使 fault 失败而非重试。
原始补丁链接
子 Patch(3)
1/3
mm, swap: ratelimit bad swap entry reports
损坏的swap entry导致get_swap_device()和swap_dup_entry_direct()反复打印相同错误日志,使用ratelimit限制三个打印点,避免日志洪泛。
2/3
mm, swap: distinguish a malformed swap entry from a dying device
get_swap_device()对malformed swap entry返回ERR_PTR(-EIO),对swapoff返回NULL,使调用者能区分永久非法与临时失效,并相应改用IS_ERR_OR_NULL()。
3/3
mm: fail the fault on a malformed swap entry instead of retrying it
do_swap_page()对malformed swap entry返回0导致fault handler无限重试,改为返回VM_FAULT_SIGBUS,避免同一fault永久自旋。