SW개발/Linux

Power Management in Linux Kernel

초코쨔응 2023. 6. 19. 23:59

Power Management in Linux Kernel

리눅스 커널에서의 전력 관리

 

많은 제품들이 유선 전원 공급 장치가 아닌 배터리로 전원이 공급됩니다. 따라서 배터리에 저장된 에너지를 효율적으로 사용하는 것이 중요합니다. (배터리 에너지를 효율적으로 사용할수록 배터리 충전당 제품의 사용 가능 시간이 증가합니다)

전체 전력 소모 양은 크게 동적인 전력 (Dynamic Power, Switching Power)과 정적인 전력 (Static Power, Leakage Power) 을 합한 값으로 볼 수 있습니다. 정적인 전력은 아무 활동이 없는 상태일 때도 계속해서 일정하게 소모되는 전력을 의미합니다. 반면, 동적인 전력은 활동이 있음으로써 생겨나는 전력 소모입니다.[1]

 

 

목차

1. Dynamic Power

1-1. DVFS (CPUFreq)

https://computer-choco.tistory.com/manage/posts/

1-2. Common Clock Framework

1-3. Regulator Framework

1-4. Thermal Management

 

2. Static Power

clock gating, power gating

2-1. CPUIdle, CPU hotplug

(CPU on/off)

2-2. Runtime PM

2-3. System Power Management

 

Introduction to Kernel Power Management

http://events17.linuxfoundation.org/sites/events/files/slides/Intro_Kernel_PM.pdf

 

Linux 6.1 기준 (long term 지원 버전으로 변경 예정)

ARM64 기준, ARMv8-A 이상 기준 (Exception Level 및 Register 설명 필요한지)

각 챕터를 독립적으로 읽을 수 있게 하기

요약본 끝에 넣기

Appendix

Workqueue 동작 설명

https://kernel.bz/boardPost/118683/2

 

cache & memory

https://www.cs.cornell.edu/courses/cs3410/2019sp/schedule/slides/12-caches-pre.pdf

 

[1] Low Power Design: https://www.synopsys.com/glossary/what-is-low-power-design.html ↩

Linux Power Management Architecture

https://blog.csdn.net/han2529386161/article/details/103429546

 

Power Analysis in VLSI

(static + dynamic)

https://www.vlsi-backend-adventure.com/power_analysis.html

 

web sequence diagrams com