zoukankan      html  css  js  c++  java
  • Kernel system_freezable_wq,会在suspend的时候freeze的workqueue

    这个workqueue比较实用,在suspend的时候会freeze,这样就会避免当suspend的时候,一些设备被关闭(或者clock被gate,或者power被gate),但是workqueue中还有work在运行从而导致一些问题。

    跟了一下代码,这个system_freezable_wq主要就是在create workqueue的时候加上了一个FREEZABLE的flag,然后当suspend发生的时候,在没有开始真正suspend device之前,有一个suspend_prepare会调用suspend_freeze_processes,这样一路调用下来,最终会调用到freeze_workqueues_begin,在这里会将workqueue的maxactive设成0,这样workqueue里面的work就无法执行到了。

    所以这个system_freezable_wq还是一个较实用的WQ。

  • 相关阅读:
    2021.1.11
    2021.1.10(每周总结)
    2021.1.9
    2021.1.8
    2021.1.7
    构建之法阅读笔记01
    [java] XML DTD XSD
    详解 泛型 与 自动拆装箱
    详解 正则表达式
    详解 LinkedHashMap
  • 原文地址:https://www.cnblogs.com/super119/p/2432853.html
Copyright © 2011-2022 走看看