0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Wakeup events framework同步問題

麥辣雞腿堡 ? 作者:蝸窩科技 ? 2023-09-11 16:17 ? 次閱讀

Wakeup events framework

系統(tǒng)處于 suspend 狀態(tài),可通過 wakeup events 喚醒。具體的 wakeup events 可以是按鍵按下,可以是充電器插入等。但是,如果在 suspend 的過程中,產(chǎn)生了 wakeup events,怎么辦?答案很肯定,“wakeup”系統(tǒng)。由于此時(shí)系統(tǒng)沒有真正 suspend,所以這的“wakeup”是個(gè)假動(dòng)作,實(shí)際上只是終止 suspend。

但由于系統(tǒng)在 suspend 的過程中,會(huì)進(jìn)行 process freeze、 device suspend 等操作,而這些操作可能導(dǎo)致內(nèi)核或用戶空間程序不能及時(shí)獲取 wakeup events,從而使系統(tǒng)不能正確 wakeup,這就是 wakeup events framework 要解決的問題:system suspend 和 system wakeup events 之間的同步問題。

同步問題包括兩種情況:

情況1:內(nèi)核空間的同步

wakeup events 產(chǎn)生后,通常是以中斷的形式通知 device driver。driver 會(huì)處理events,處理的過程中,系統(tǒng)不能 suspend。

情況2:用戶空間的同步

一般情況下,driver 對 wakeup events 處理后,會(huì)交給用戶空間程序繼續(xù)處理,處理的過程,也不允許 suspend。這又可以分為兩種情況:

1)進(jìn)行后續(xù)處理的用戶進(jìn)程,根本沒有機(jī)會(huì)被調(diào)度,即該 wakeup events 無法上報(bào)到用戶空間。

2)進(jìn)行后續(xù)處理的用戶進(jìn)程被調(diào)度,處理的過程中(以及處理結(jié)束后,決定終止 suspend 操作),系統(tǒng)不能 suspend。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18975

    瀏覽量

    302089
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1361

    瀏覽量

    40185
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11212

    瀏覽量

    208723
  • 按鍵
    +關(guān)注

    關(guān)注

    4

    文章

    223

    瀏覽量

    57549
收藏 人收藏

    評論

    相關(guān)推薦

    .NET Micro Framework簡介

    Microsoft .NET Micro Framework 將 .NET 的可靠性和效率與 Visual Studio的高生產(chǎn)率結(jié)合起來,以針對價(jià)格較低、資源受限的小型設(shè)備開發(fā)應(yīng)用程序,可幫助
    發(fā)表于 05-27 16:03

    .Net Micro Framework 快速入門

    一、簡介Microsoft .NET Micro Framework 2001年由微軟研究院開始研發(fā),并隨后在其MSN Direct項(xiàng)目中使用該技術(shù),2007年9月微軟對外發(fā)布2.0,2008年10
    發(fā)表于 05-29 10:56

    sushu---Actor Framework基本介紹

    一練]Actor Framework框架(1125-1201)2016-02-28 20:15:20新寫的一篇帖子:sushu---Actor Framework一種使用方式主貼里面循序漸進(jìn)的介紹了一些信息。現(xiàn)在
    發(fā)表于 01-03 20:05

    Actor Framework 生成exe,啟動(dòng)文件“Launch.vi”無法調(diào)用出UI界面,請問這是為什么?如何解決?

    我用Actor Framework架構(gòu)做了個(gè)程序,在生成exe文件后,雙擊exe,啟動(dòng)文件“Launch.vi”能夠啟動(dòng),閃爍了一下,然后就沒反應(yīng)了,無法調(diào)用出UI界面(VI測試的時(shí)候都是正常
    發(fā)表于 06-29 13:59

    net framework 2.0 下載

    MICROSOFT 軟件補(bǔ)充程序許可條款MICROSOFT .NET FRAMEWORK 2.0(適用于 MICROSOFT WINDOWS OPERATING SYSTEM) Microsoft Corporation(或 Microsoft Corporation 在您所在地的分公司)現(xiàn)授予您本補(bǔ)充程
    發(fā)表于 06-25 09:51 ?65次下載

    .NET Framework 高級編程

    .NET Framework 高級編程詳細(xì)講述了.NET Framework,是一本極具參考價(jià)值的.NET Framework編程大全。本書從.NET Framework最基本的概念到
    發(fā)表于 01-08 11:04 ?40次下載
    .NET <b class='flag-5'>Framework</b> 高級編程

    基于Microsoft .NET Framework的OPC

    介紹了OPC (OLE for Process Control) Data Access 規(guī)范基本內(nèi)容Microsoft .NetFramework 特點(diǎn)?;贛icrosoft .Net Framework 2.0 介紹了托管代碼和本地代碼之間互操作的方法,用C#給出了實(shí)現(xiàn)OPC 客戶端軟件
    發(fā)表于 05-25 13:57 ?22次下載

    A proposed framework for measu

    A proposed framework for measuring, identifying, and eliminating clock and data jitter
    發(fā)表于 03-04 08:45 ?1732次閱讀
    A proposed <b class='flag-5'>framework</b> for measu

    Meter Design for Power Failure Events

    and polyphase residential energy-metering SoCs that cope with sag and power-failure events. The sample code discussed in this application note was w
    發(fā)表于 02-06 10:42 ?23次下載

    Linux電源管理總體框架及實(shí)現(xiàn)原理

    suspend過程中,有可能會(huì)發(fā)生wakeup events,所以某些時(shí)間點(diǎn),會(huì)調(diào)用接口(pm_wakeup_pending),檢查是否有wakeup需要處理
    發(fā)表于 09-14 17:00 ?4679次閱讀
    Linux電源管理總體框架及實(shí)現(xiàn)原理

    專題分綱目錄 Android Framework 電源子系統(tǒng)

    專題分綱目錄 均為索引,本綱為:Android Framework 電源子系統(tǒng) 系列文章目錄Android Framework 電源子系統(tǒng)(01)PowerManagerService啟動(dòng)分析
    發(fā)表于 01-11 12:07 ?0次下載
    專題分綱目錄 Android <b class='flag-5'>Framework</b> 電源子系統(tǒng)

    Android Framework 電源子系統(tǒng)(06)電池管理

    系列文章解讀&說明:Android Framework 電源子系統(tǒng) 的分析主要分為以下部分:Android Framework 電源子系統(tǒng)(01)PowerManagerService啟動(dòng)
    發(fā)表于 01-11 14:58 ?1次下載
    Android <b class='flag-5'>Framework</b> 電源子系統(tǒng)(06)電池管理

    在LabVIEW中創(chuàng)建Actor Framework同步消息

    首先,第一次使用Reply Msg時(shí),繼承關(guān)系中是沒有Reply Msg的,因?yàn)槟J(rèn)Reply Msg不包含在Actor Framework.lvlib中的,需要手動(dòng)添加。
    的頭像 發(fā)表于 11-04 10:33 ?3691次閱讀

    SystemVerilog里的regions以及events的調(diào)度

    本文講一下SystemVerilog的time slot里的regions以及events的調(diào)度。SystemVerilog語言是根據(jù)離散事件執(zhí)行模型定義的,由events驅(qū)動(dòng)。
    的頭像 發(fā)表于 07-12 11:20 ?1455次閱讀
    SystemVerilog里的regions以及<b class='flag-5'>events</b>的調(diào)度

    wakeup events framework三大功能介紹

    wakeup events framework 就包括 3 大功能: 1. 解決內(nèi)核空間同步問題(framework 的核心功能) ? ?
    的頭像 發(fā)表于 09-11 16:21 ?603次閱讀