본문 바로가기
리눅스

AMD p-state (related cpu governor)

by 다움위키 2025. 4. 14.

https://dawoum.tistory.com/entry/Dynamic-frequency-scaling-Cpu-governor

 

위의 링크로부터, 커널 컴파일에서 cpu 가버너를 전부 컴파일하더라도, 부팅 후에 실제로 사용할 수 있는 가버너는 2개뿐이라는 것을 볼 수 있습니다.

이것은 사용 중인 amd cpu의 p-state와 관련되어 있습니다. 

즉, p-state의 선택에 따라 사용할 수 있는 가버너의 그룹이 결정된다는 의미입니다.

다른 가버너를 선택할 수도 있겠지만, 기본 값으로 두는 것은 에너지 소비를 적게 할 것으로 기대되어 기본 설정을 그대로 둡니다.

AMD p-state

amd_pstate에는 CPPC 자율 (active) 모드, CPPC 비-자율 (passive) 모드, 및 CPPC 유도 자율 (guided) 모드의 세 가지 작동 모드가 있습니다. 공식적으로 지원되는 커널은 CONFIG_X86_AMD_PSTATE_DEFAULT_MODE=3으로 빌드되며, 이는 기본값이 active 모드임을 의미합니다. 이것은 커널 매개변수 amd_pstate=active, amd_pstate=passive, 또는 amd_pstate=guided로 변경될 수 있습니다. acpi_cpufreq 드라이버로 되돌리기 위해, 대신 amd_pstate=disable을 설정하십시오.

  • Active mode: active 모드는 amd_pstate_epp (Energy Performance Preference) 드라이버에 의해 구현됩니다. 이 모드에서, amd_pstate_epp 드라이버는 소프트웨어가 CPPC 펌웨어를 성능 (0x0) 또는 전력 효율성 (0xff)으로 편향시키려고 할 때 하드웨어에 힌트를 제공합니다.
  • Passive mode:  passive 모드는 amd_pstate 드라이버에 의해 구현됩니다. 이 모드에서, 드라이버는 현재 워크로드에 따라 원하는 성능을 정의하고, 특히 수명의 질에 영향을 주지 않고 성능 저하를 허용할 수 있는 정도를 정의합니다.
  • Guided mode: guided 모드는 amd_pstate 드라이버에 의해 구현됩니다. 이 모드에서, amd_pstate 드라이버는 최소 및 최대 성능 수준을 요청하고 플랫폼은 이 범위에서 현재 워크로드에 적합한 성능 수준을 자율적으로 선택합니다.

보통 배포판에서 CONFIG_X86_AMD_PSTATE_DEFAULT_MODE=3으로 설정함으로써, 위에서 처럼, performance, powersave 2개의 가버너만 사용할 수 있습니다. 이 값을 4로 바꾸면, guided mode가 되고 모든 cpufreq 가버너를 전부 선택할 수 있습니다.