免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 12434 | 回复: 17

PCI驱动的suspend/resume方法,在何时调用? [复制链接]

论坛徽章:
0
发表于 2008-03-21 11:17 |显示全部楼层
就先只说PC上的。 对应的往/sys/power/state写一个字符串,会进入suspend态, 但是Linux目前就至少支持3个:

       ACPI的状态          Linux的String         说明
        ==============================================
        S1,                 "standby"         很低的延迟就能回到工作状态

        S3,                 "mem",                 suspend-to-RAM, STR

        S4,                 "disk"                 suspend-to-disk, STD,也叫Hibernation


我想请教, 是不是这3种睡眠的 路径中, 都会调用 pci驱动的suspend/resume方法?  还是有哪种不会调用?

论坛徽章:
0
发表于 2008-03-21 12:52 |显示全部楼层
个人猜测,S1不会,S3、S4会。
坐看高手解释。

论坛徽章:
0
发表于 2008-03-21 15:44 |显示全部楼层
我刚才跑去问了一下PM方面的专家,下面是答复
drivers' suspend/resume are invoked at two cases:
a) device specific Dx transition, like D0->D3
b) system level sleep request with all drivers forced with a D0->D3 request

For b), normally S3/S4 are in this category.  S1 by definition doesn't require due to all device contexts preserved, but at least Linux is lazy and thus reuse same S3 path for S1.

然后是我继续确认一下有没有理解错:
Oops, what does "lazy" here mean? We usually say "lazy" as doing things until they have to be done, such as "demanding page". But here seem the "lazy" means linux doesn't implement S1 path, right?

最后是得到肯定的答复
Yes, Linux treats S1/S3 exactly same.

[ 本帖最后由 zx_wing 于 2008-3-21 15:56 编辑 ]

评分

参与人数 1可用积分 +15 收起 理由
albcamus + 15 精品文章

查看全部评分

论坛徽章:
0
发表于 2008-03-21 16:18 |显示全部楼层
原帖由 zx_wing 于 2008-3-21 15:44 发表
我刚才跑去问了一下PM方面的专家,下面是答复


多谢多谢  老大的理解力真厉害,对不熟悉的领域都能准确的猜到!!


按照Linus的观点, STD应该叫作'snapshot-and-restore',都不能算做suspend/resume, 不知道他的意思是不是应该只有S1/S3走设备的suspend/resume方法

论坛徽章:
0
发表于 2008-03-21 16:23 |显示全部楼层
>> Linux treats S1/S3 exactly same.

这句指的应该只是 设备的D-States 吧?  Linux的standby和STR实现还是不一样的。 zx_wing老大能再确认一下吗?

论坛徽章:
0
发表于 2008-03-21 16:57 |显示全部楼层
原帖由 albcamus 于 2008-3-21 16:23 发表
>> Linux treats S1/S3 exactly same.

这句指的应该只是 设备的D-States 吧?  Linux的standby和STR实现还是不一样的。 zx_wing老大能再确认一下吗?

问了,还没回复。
你上一个帖子提到STD,这里提的STR,是一个东西吗?

论坛徽章:
0
发表于 2008-03-21 16:59 |显示全部楼层
原帖由 zx_wing 于 2008-3-21 16:57 发表

问了,还没回复。
你上一个帖子提到STD,这里提的STR,是一个东西吗?


不是, STR是suspend-to-RAM,STD是suspend-to-disk;前者对应ACPI的S3,后者对应S4。

论坛徽章:
0
发表于 2008-03-21 17:16 |显示全部楼层
原帖由 albcamus 于 2008-3-21 16:59 发表


不是, STR是suspend-to-RAM,STD是suspend-to-disk;前者对应ACPI的S3,后者对应S4。

汗,我不太明白。
那你这里问的还是S1/S3是不是一样的实现罗?

论坛徽章:
0
发表于 2008-03-21 17:24 |显示全部楼层
原帖由 zx_wing 于 2008-3-21 17:16 发表

汗,我不太明白。
那你这里问的还是S1/S3是不是一样的实现罗?


是啊。  你前边说的是S1/S3对设备来说是一样的, 我想直到对CPU来说是不是也是这样? 感觉应该不是

论坛徽章:
0
发表于 2008-03-21 17:30 |显示全部楼层
原帖由 albcamus 于 2008-3-21 17:24 发表


是啊。  你前边说的是S1/S3对设备来说是一样的, 我想直到对CPU来说是不是也是这样? 感觉应该不是

你直接这样问我还好理解点,汗,现在才知道PM中的Cx代表CPU状态,Dx代表设备
我又重新问了,我想答案应该是no吧。等回复……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP