前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PM QoS 和 DVFS

PM QoS 和 DVFS

作者头像
用户9732312
发布2022-05-13 17:05:06
1.8K0
发布2022-05-13 17:05:06
举报
文章被收录于专栏:ADAS性能优化

为了提高电池的使用寿命,为了节省功耗,linux引入了DVFS。而为了应用程序的性能,Linux 又引入了PM QoS。下图是linux kernel power 管理中PM QOS和DVFS相关的架构图。

LinuxKernel Power Management

DVFS: 动态调整电压和频率技术,包括CPU,DDR,GPU,DSP,BUS等的电压,频率的动态调整。其目的是为了省电。CPUfreq:DVFS for CPU Core。Devfreq:DVFS for other devices。

PM-QOS:Quality of Service。简单的说提供在省电和performance之间提供协调机制。

DVFS flow

  • 周期性采样得到其load(CPU,GPU,DDR)
  • 根据当前的load调整频率(clock)
  • 根据设备的频率调整电压。

工作流程

PM QOS

PM QoS简单的说提供在省电和performance 之间提供协调机制。我们知道,Linux PM的主要功能,是节省功耗,但同时,会付出一定的性能代价,例如延迟(latency)增加、吞吐量(throughput)下降。而PMQoS 便解决这个问题的一种技术。

Work flow

kernel将“系统各个实体对QoS的期望”抽象为一个一个的constraint,围绕这些constraint,可以将系统的实体分为三类:client、pm qosframework和service。示意图如下:

Client提出对QoS的constraint。常见的client包括应用进程、GPUdevice、netdevice、flashdevice等,它们基于自身的实际特性,需要系统的QoS满足一定的条件,才能正常工作。

PM QoS core负责汇整、整理这些constraint,并根据实际情况,计算出它们的极值(最大或者最小)。

QOS service在需要的时候从PMQoS core处获取constraint的极值,并确保自身的行为,可以满足这些constraints。如cpuidleruntime pmpm domain等。

PM QoS framework将constraint分为2类,每一类包括若干个constraint,具体如下。

1)系统级的constraint,包括cpu&dmalatency、networklatency、networkthroughput和memorybandwidth 4个constraint。

2)设备级别的constraint,包括从低功耗状态resume的latency、active状态的latency和一些QoS flag(如是否允许poweroff)。

Performance Issues of DVFS

为了节省功耗,所有的设备都工作在DVFS模式下,即所有的设备都不是工作在最高clock下,只有在需要时其clock才工作在较高的频率从而满足App的性能要求。而DVFS主要有下面的perfissue.

Issue 1: 调整频率太慢而导致性能问题。

Issue 2: 在有大量资源需求的时候,不能及时Bursts

Issue 3: 不对称的依赖关系

  • DMA 的 latency/throughput 的性能好坏完全由CPU的频率确定。
  • 而DMA却不能对CPU load 有任何贡献。

Solution

这里有两种可能的solution.

  • 在DVFS devices(GPU,MDP,USB等)中处理PM QoS 需求(现在的处理方式)
  • 在DVFS framework中处理PM QoS而不是在DVFS devices中处理。

QoS on DVFS Devices

下面是典型的QoS应用,在其应用或driver中我们增加QoS request。

Issue1 “Touchscreen Event” CPU 提频到1GHz

  • User touch event àQoS request “at least 1000 MIPs”

àCPUfreq runs CPU at 1GHz

Issue 2 “Video Decoding” QoS request DMA 吞吐量2.4GB,提高其DDR clock,CPU 提频到500MHz。

  • Video decoder gets a 1080p60Hz

àQoS request “DMA throughput of 2.4GB/s”

àCPUfreq runs CPU at 500MHz

No PM QoS request 示意图

PM QoS DVFS 示意图

Work flow

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Android性能优化 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • DVFS flow
  • PM QOS
    • Work flow
    • Performance Issues of DVFS
    • Solution
    • QoS on DVFS Devices
    • Work flow
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档