.. SPDX-License-Identifier: GPL-2.0
.. include:: ../disclaimer-zh_CN.rst

:Original: Documentation/userspace-api/sysfs-platform_profile.rst

:翻译:

 李睿 Rui Li <me@lirui.org>

==========================================================
平台配置文件选择(如 /sys/firmware/acpi/platform_profile)
==========================================================

现代系统中平台性能、温度、风扇和其他硬件相关的特性通常是可以动态配置的。平台
配置通常会根据当前的状态由一些自动机制(很可能存在于内核之外)来自动调整。

这些平台自动调整机制通常能够被配置成多个平台配置文件中的一个,要么偏向节能运
行,要么偏向性能运行。

platform_profile属性的目的是提供一个通用的sysfs API来选择这些平台自动配置
机制的配置文件。

需要注意的是,这个API只能用作选择平台配置文件,用来监测所产生的性能特征并不
是其目标。监测性能最好使用设备/供应商提供的工具,比如turbostat。

具体来说,当选择高性能配置文件时,真实能达到的性能可能受制于多种因素,比如:
其他组件的发热,房间温度,笔记本底部的自由空气流动等。让用户空间知道任何阻碍
达到要求性能水平的局部最优条件,显然不是这个API的目标。

由于数字本身并不能代表一个配置文件会调整的多个变量(功耗,发热等),这个API
使用字符串来描述多种配置文件。为了保证用户空间能够获得一致的体验,
sysfs-platform_profile ABI 文档定义了一个固定的配置文件名集合。驱动程序
*必须* 将它们内置的配置文件表示映射到这个固定的集合中。

如果映射时没有很好的匹配,可以添加一个新的配置文件名称。驱动希望引入的新配置
文件名称时必须:

 1. 解释为什么无法使用已有的配置文件名称。
 2. 添加一个新的配置文件名称,以及预期行为的清晰描述,保存到
    sysfs-platform_profile ABI文档中。