10.2. 配置电源管理状态
您可以将值写入 /dev/cpu_dma_latency 文件,以更改进程的最大响应时间(以微秒为单位)。您还可以在应用程序或脚本中引用此文件。
先决条件
- 系统上的 root 权限。
流程
-
打开
/dev/cpu_dma_latency文件。在 low-latency 操作期间,使文件描述符保持打开。 -
向文件写入 32 位数字。此数值代表了微秒内的最大响应时间。对于可能的响应时间,请使用
0。
示例
以下是使用此方法防止电源转换和维护低延迟的程序示例。
main()
static int pm_qos_fd = -1;
void start_low_latency(void)
{
s32_t target = 0;
if (pm_qos_fd >= 0)
return;
pm_qos_fd = open("/dev/cpu_dma_latency", O_RDWR);
if (pm_qos_fd < 0) {
fprintf(stderr, "Failed to open PM QOS file: %s",
strerror(errno));
exit(errno);
}
write(pm_qos_fd, &target, sizeof(target));
}
void stop_low_latency(void)
{
if (pm_qos_fd >= 0)
close(pm_qos_fd);
}