Linux暂停/恢复操作的用户空间通知

时间:2016-04-16 19:16:02

标签: linux linux-kernel power-management netlink userspace

我正在开发嵌入式Linux平台。

当我“回忆”mem“> / sys / power / state”时,系统将暂停。

我知道内核和驱动程序可以知道暂停操作即将到来。但是,用户空间进程或应用程序是否可以获得系统将暂停的通知?怎么样?

例如,我有一个应用程序将'A'连续写入缓冲区,其起始地址由设备驱动程序给出。是否有可能通知该应用程序系统将暂停,以便它可以用'B'替换所有这个缓冲区,以便当驱动程序恢复时,驱动程序看到的所有内容都是'B'?

非常感谢。

2 个答案:

答案 0 :(得分:0)

一直在寻找同样的事情。但不幸的是,在暂停/恢复期间我没有找到任何用户空间通知。应用程序只是冷藏/冷冻,他们永远不会知道它们被暂停。

但是,一种可能的方法是从您可以修改的任何驱动程序的暂停/恢复功能添加通用netlink消息发送或uevent。仍然应用程序可能永远没有足够的时间来处理它,然后它可能会导致竞争条件。假设它收到暂停消息并在处理之前被冻结。一旦恢复,它将处理暂停消息。

IMO,最好处理驱动程序中的场景。保留用户空间。

答案 1 :(得分:0)

由于提到了“嵌入式”,因此我不确定它是否对您特别有用,但是systemd可以通过DBus通知您:https://www.freedesktop.org/wiki/Software/systemd/inhibit/