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

发布补丁以允许在 Linux 上取消休眠

目前,在 Linux 系统中,如果你正在将系统置于休眠状态,如果你改变主意,没有方法可以中断并取消休眠,即使大多数系统需要几秒钟才能成功休眠。但这个周末发布的一系列新补丁将引入这种功能。

Muhammad Usama Anjum 来自 Collabora 在本周末发布了一系列补丁,以允许休眠取消支持。基本上,如果你改变主意,不想等待系统首先成功休眠,就可以取消正在进行的休眠过程。

发布补丁以允许在 Linux 上取消休眠

该补丁系列被发送出去作为一份评论请求(RFC),并解释为:

“在普通笔记本电脑/PC 上,休眠需要 15-20 秒,这是一个相当长的时间。一旦从命令行或某些 GUI 选项触发休眠,休眠就不能取消,直到完成。这并不是一个阻止因素,但用户体验不佳。

当在休眠期间按下电源按钮时,它会生成中断,然后事件被路由到用户空间。如果正在使用 systemd,logind 将处理这些事件并执行特定操作。”

在休眠期间,第一阶段是冻结用户空间。因此,即使按下电源按钮,由于用户空间守护进程已被冻结,休眠也不会被终止。

我的设备休眠大约需要 19 秒。当我使用 rtcwake 进行休眠测试,并设置超时时间为 10 秒时,我发现当中断触发时,休眠在 10 秒左右被取消。

在这个系列中,我们的想法是找到一种取消休眠的方法。应用这个系列后,休眠可以优雅地取消。”

添加这项取消支持仅相当于大约二十多行代码。反过来,这项工作也导致 AMD 的 Mario Limonciello 提出了一些修复,这些修复揭示了 AMDGPU 处理跳过解冻步骤中的一个漏洞。

我们将看看关于 Linux 休眠取消支持的这项提议还会带来哪些更多内容。

转自  Patches Posted To Allow Hibernation Cancellation On Linux – Phoronix