Linux PHC patch (CPU 코어 전압 조절)

병맛의 이미지

PHC란?

Processor Hardware Control의 약자.
프로세서의 전압을 조절하는 유저스페이스 인터페이스(Userspace Interface)

랩톱의 전력 사용량을 줄이고 배터리 시간을 연장하는 것이 주 목적
또한 코어 전압을 낮춤으로서 랩톱의 온도를 내려 팬 속도를 줄이는 부가 효과도 얻을 수 있다.

GPL이다.

인텔 펜티엄-M 프로세서만을 지원한다. (즉 랩톱 전용)
새로운 코어 듀오 프로세서도 지원하나 제약이 있다.
AMD는 현재 지원하지 않고 Powernow-K8 패치가 작업중임

phc 패치는 0.3.0 버전 현재 2.6.20 ~ 2.6.23 커널을 지원

참고 링크:
http://gentoo-wiki.com/HOWTO_Undervolt_a_Pentium_M_CPU
https://sourceforge.net/projects/linux-phc/
https://www.dedigentoo.org/trac/linux-phc

2007년 10월 30일 현재 최신 버전 0.3.0 :

speedstep-centrino 모듈 대신 acpi-cpufreq 모듈을 사용한다. 두 모듈은 배타적인 관계로 둘 중 하나만 사용할 수 있다.

다운로드 :
https://sourceforge.net/project/showfiles.php?group_id=161063
이곳에서.

일단 새 커널을 컴파일하면서 phc 기능을 추가해보자

다운 받은 파일에서 알맞은 커널 버전에 해당하는 패치 파일을 커널 소스 디렉터리로 복사

예: 2.6.22-5 소스를 가지고 커널 컴파일을 한다면

# cp linux-phc-0.3.0-kernel-vanilla-2.6.22.patch /usr/src/linux

패치는 kernel-patch/ 디렉터리 안에 있다.

/usr/src/linux 디렉터리로 가서

# patch -p1 < linux-phc-0.3.0-kernel-vanilla-2.6.22.patch

라고 실행하면 패치가 적용됨. 주의: 예전 버전 phc 패치를 적용한 커널 소스에 새 버전을 덮을 수 없다.
반드시 새 커널 소스에 phc 패치를 할 것.

CPUFreq 부분 옵션을 손볼 것

-> Power management options (ACPI, APM)
-> ACPI Support
-> ACPI Support (ACPI [=y])
-> Processor ( ACPI_PROCESSOR [=m])
-> CPU Frequency scaling CPU_FREQ [=y]
-> CPU Frequency scaling

새로 만든 커널로 부팅한 후

$ cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls

명령을 실행하여 제대로 되었는지 확인할 수 있다. 문제가 있다면 일단 acpi_cpufreq 모듈이 제대로
뜨는지부터 확인할 것.

현재 커널을 그대로 쓰녀서 acpi_cpufreq 모듈만 따로 새로 만드는 방법을 써도 된다. 앞에서와 같이 패치한 후

# cd /usr/src/커널 소스 디렉터리
# /boot/config-$(uname -r) .config

이와 같이 현재 커널의 config 파일을 커널 소스 디렉터리의 .config 파일로 복사하고

# make oldconfig
# make prepare
# make scripts

# make M=./arch/i386/kernel/cpu/cpufreq

이런 식으로 acpi_cpufreq 모듈을 새로 만들 것.

speedstep-centrino 모듈을 쓰고 있다면 내릴 것. 위에서 말한 대로 acpi_cpufreq 모듈만 쓴다.
또한 이미 사용 중인 acpi_cpufreq 모듈도 메모리에서 제거

# rmmod acpi-cpufreq

새로 컴파일한 모듈이 제대로 작동하는지 확인한다.

# insmod arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.ko

에러 없이 모듈이 올라가면

# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls

도 한번 실행해 본다.

이제 acpi_cpufreq 모듈을 예전 것과 교체

# cp arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.ko /lib/modules/$(uname -r)/kernel/arch/i386/kernel/cpu/cpufreq

이것으로 코어 전압을 조절할 준비가 모두 끝나고 본격적으로 전압 조절에 들어갈 수 있다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.