特殊:Badtitle/NS100:LongRunHowTo:修订间差异
小无编辑摘要 |
小无编辑摘要 |
||
(未显示同一用户的5个中间版本) | |||
第1行: | 第1行: | ||
{{From|https://help.ubuntu.com/community/LongRunHowTo}} | {{From|https://help.ubuntu.com/community/LongRunHowTo}} | ||
{{Languages|UbuntuHelp:LongRunHowTo}} | {{Languages|UbuntuHelp:LongRunHowTo}} | ||
<<Include(Tag/Unsupported)>> | |||
#title LongRun Power Management Guide | #title LongRun Power Management Guide | ||
Long''''''Run is a [http://www.transmeta.com/ Transmeta (tm)] | == Introduction == | ||
Long''''''Run is a feature introduced by [http://www.transmeta.com/ Transmeta (tm)] and used in the [http://www.transmeta.com/crusoe/index.html Crusoe (tm)] and [http://www.transmeta.com/efficeon/index.html Efficeon (tm)] processors. It allows processors to use power on demand to increase performance. | |||
This page shows how Ubuntu 5.04 (Hoary Hedgehog) can be configured to control and take advantage of Long''''''Run-enabled processors. Instructions for running the <code><nowiki>longrun</nowiki></code> utility are also included. | |||
'''Note:''' Tips may work on previous versions of Ubuntu, but testing would be necessary to confirm their effectiveness. | |||
== Definition == | |||
The official definition from http://www.transmeta.com/efficeon/faq.html#12: | The official definition from http://www.transmeta.com/efficeon/faq.html#12: | ||
Long''''''Run is Transmeta's original proprietary power management technology that enables processors to change voltage and frequency dynamically -- hundreds of times per second -- to provide the performance needed by the application at any moment. Transmeta introduced Long''''''Run power management in the Crusoe processor, and the new Efficeon processor now also incorporates Enhanced Long''''''Run technology. | Long''''''Run is Transmeta's original proprietary power management technology that enables processors to change voltage and frequency dynamically -- hundreds of times per second -- to provide the performance needed by the application at any moment. Transmeta introduced Long''''''Run power management in the Crusoe processor, and the new Efficeon processor now also incorporates Enhanced Long''''''Run technology. | ||
== Requirements == | |||
To be able to make use of the Long''''''Run functionality of the Transmeta Crusoe family of processors on Ubuntu, there are certain requirements, especially in the kernel drivers. These are the following: | |||
To be able to make use of the Long''''''Run functionality of the Transmeta Crusoe family of processors on Ubuntu | |||
* CPUID device driver | * CPUID device driver | ||
* MSR device driver | * MSR device driver | ||
* longrun package (available from the universe repository) | * longrun package (available from the universe repository) | ||
The first two device drivers may be loaded from the default Ubuntu packaged Linux | The first two device drivers may be loaded from the default Ubuntu packaged Linux kernel by issuing the following commands from the terminal (or the shell): | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo modprobe cpuid | sudo modprobe cpuid | ||
sudo modprobe msr | sudo modprobe msr | ||
</nowiki></pre> | </nowiki></pre> | ||
The two modules may be loaded during boot time by adding | The two modules may be loaded during boot time by adding their names to /etc/modules -- part of which is shown below: | ||
<pre><nowiki> | <pre><nowiki> | ||
# /etc/modules: kernel modules to load at boot time. | # /etc/modules: kernel modules to load at boot time. | ||
... | ... | ||
# load the two required modules for longrun at boot time. | # load the two required modules for longrun at boot time. | ||
cpuid | cpuid | ||
msr | msr | ||
... | ... | ||
</nowiki></pre> | </nowiki></pre> | ||
The ''' | The Long''''''Run utility is provided by the <code><nowiki>longrun</nowiki></code> package from the Universe repository: | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-get install longrun | sudo apt-get install longrun | ||
</nowiki></pre> | </nowiki></pre> | ||
== Command Index == | |||
There are five operations which can be done using the longrun utility to enable, configure, disable, and query the | There are five operations which can be done using the <code><nowiki>longrun</nowiki></code> utility to enable, configure, disable, and query the Long''''''Run settings for the processor. These are: | ||
* Listing Long''''''Run information about available performance levels for the processor. | * Listing Long''''''Run information about available performance levels for the processor. | ||
* Printing the current Long''''''Run settings and status | * Printing the current Long''''''Run settings and status. | ||
* Setting the Long''''''Run mode flag | * Setting the Long''''''Run mode flag. | ||
* Configuring the current Long''''''Run performance window | * Configuring the current Long''''''Run performance window. | ||
* Setting the current Long''''''Run Thermal Extensions setting | * Setting the current Long''''''Run Thermal Extensions setting. | ||
These operations are enumerated in depth in the following sections. | These operations are enumerated in depth in the following sections. | ||
The basic format for the longrun command is as follows: | The basic format for the <code><nowiki>longrun</nowiki></code> command is as follows: | ||
<pre><nowiki> | <pre><nowiki> | ||
longrun -c (cpuid device) -m (msr device) (command flag) [command options] | longrun -c (cpuid device) -m (msr device) (command flag) [command options] | ||
</nowiki></pre> | </nowiki></pre> | ||
CPUID device pertains to the device created and associated with the CPUID device driver -- | CPUID device pertains to the device created and associated with the CPUID device driver -- which works the same for the MSR device, created and associated with the MSR device driver. Usually, on uniprocessor systems, CPUID and MSR devices for the one and only processor are the following files respectively: | ||
<pre><nowiki> | <pre><nowiki> | ||
/dev/cpu/0/cpuid | /dev/cpu/0/cpuid | ||
/dev/cpu/0/msr | /dev/cpu/0/msr | ||
</nowiki></pre> | </nowiki></pre> | ||
When used in the longrun function, it usually looks like the following: | When used in the <code><nowiki>longrun function</nowiki></code>, it usually looks like the following: | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo longrun -c /dev/cpu/0/cpuid -m /dev/cpu/0/msr ... | sudo longrun -c /dev/cpu/0/cpuid -m /dev/cpu/0/msr ... | ||
</nowiki></pre> | </nowiki></pre> | ||
The '0' (zero) pertains to the cpu id which you want to be able to control with the utility. In cases where there are more than one | The '0' (zero) pertains to the cpu id which you want to be able to control with the utility. In cases where there are more than one Long''''''Run-capable processor in the system, each one gets a cpu id. For example, in a dual-Crusoe(TM) system, the second processor is accessed using the following device(s): | ||
<pre><nowiki> | <pre><nowiki> | ||
/dev/cpu/1/cpuid | /dev/cpu/1/cpuid | ||
/dev/cpu/1/msr | /dev/cpu/1/msr | ||
</nowiki></pre> | </nowiki></pre> | ||
'''NOTE:''' To be able to perform these operations, make sure that the appropriate drivers have been loaded and that the | '''NOTE:''' To be able to perform these operations, make sure that the appropriate drivers have been loaded and that the <code><nowiki>longrun</nowiki></code> utility is installed in the system. See above for information about installing required packages and loaded device drivers. | ||
=== Displaying current settings and status. === | |||
The following command can be used to display the current settings and status: | The following command can be used to display the current settings and status: | ||
<pre><nowiki> | <pre><nowiki> | ||
第71行: | 第76行: | ||
LongRun flags: economy | LongRun flags: economy | ||
</nowiki></pre> | </nowiki></pre> | ||
=== Listing available LongRun performance levels === | |||
To see the available performance levels for the processor, the following command should show that information on the terminal/command line: | To see the available performance levels for the processor, the following command should show that information on the terminal/command line: | ||
<pre><nowiki> | <pre><nowiki> | ||
第79行: | 第84行: | ||
<pre><nowiki> | <pre><nowiki> | ||
# % MHz Volts usage SDR DDR PCI | # % MHz Volts usage SDR DDR PCI | ||
0 300 1.200 0.281 100 75 33 | 0 300 1.200 0.281 100 75 33 | ||
33 400 1.250 0.407 100 80 33 | 33 400 1.250 0.407 100 80 33 | ||
66 500 1.400 0.638 125 100 33 | 66 500 1.400 0.638 125 100 33 | ||
100 600 1.600 1.000 120 100 33 | 100 600 1.600 1.000 120 100 33 | ||
</nowiki></pre> | </nowiki></pre> | ||
The above values are obtained from a Transmeta(TM) Crusoe(TM) Processor TM5600, installed on an ECS Desknote A530 (See [[UbuntuWiki: | The above values are obtained from a Transmeta(TM) Crusoe(TM) Processor TM5600, installed on an ECS Desknote A530 (See [[UbuntuWiki:HardwareSupportMachinesECS|ECS Hardware Support]] for more information). | ||
The significant values of note are the values on the first column, which defines the possible values for the performance window. | The significant values of note are the values on the first column, which defines the possible values for the performance window. | ||
=== Configuring the Current Performance Window === | |||
Given the values from the available performance levels, setting the current performance window (minimum and maximum levels) may be done using the following command: | Given the values from the available performance levels, setting the current performance window (minimum and maximum levels) may be done using the following command: | ||
<pre><nowiki> | <pre><nowiki> | ||
第104行: | 第109行: | ||
</nowiki></pre> | </nowiki></pre> | ||
'''TODO:''' Explain performance window and its effect on the performance of the processor. | '''TODO:''' Explain performance window and its effect on the performance of the processor. | ||
=== Setting the performance mode flag === | |||
Long''''''Run CPU's have different performance mode flags, which can be set using the '''-f''' option of the longrun utility. In the case of the Transmeta Crusoe TM5600, the two flags ''performance'' and ''economy'' are available. | Long''''''Run CPU's have different performance mode flags, which can be set using the '''-f''' option of the longrun utility. In the case of the Transmeta Crusoe TM5600, the two flags ''performance'' and ''economy'' are available. | ||
To set the performance flag using the longrun utility, the following command can be used: | To set the performance flag using the <code><nowiki>longrun</nowiki></code> utility, the following command can be used: | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo longrun -c /dev/0/cpuid -m /dev/0/msr -f performance | sudo longrun -c /dev/0/cpuid -m /dev/0/msr -f performance | ||
</nowiki></pre> | </nowiki></pre> | ||
This sets the ''performance'' flag for the processor. To verify the results, the settings are printed: | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo longrun -c /dev/0/cpuid -m /dev/0/msr -p | sudo longrun -c /dev/0/cpuid -m /dev/0/msr -p | ||
第122行: | 第127行: | ||
</nowiki></pre> | </nowiki></pre> | ||
'''TODO:''' Explain what the ''performance'' and ''economy'' flags do for the processor. Consult technical docs for more info. | '''TODO:''' Explain what the ''performance'' and ''economy'' flags do for the processor. Consult technical docs for more info. | ||
=== Setting thermal extension settings. === | |||
Long''''''Run Thermal Extensions (LTX) can be enabled, disabled, and configured using the '''-t''' option. Valid values range from 0 to 8 where a setting of 8 turns off the extensions. | Long''''''Run Thermal Extensions (LTX) can be enabled, disabled, and configured using the '''-t''' option. Valid values range from 0 to 8 where a setting of 8 turns off the extensions. | ||
To set the LTX to the highest sensitivity (?) setting of 0, the following command can be used: | To set the LTX to the highest sensitivity (?) setting of 0, the following command can be used: | ||
第151行: | 第156行: | ||
appear to represent 0% and 12.5% respectively on the TM5800 | appear to represent 0% and 12.5% respectively on the TM5800 | ||
chip, use these settings at your own risk. | chip, use these settings at your own risk. | ||
... | ... | ||
Notes: This functionality may or may not provide you with | Notes: This functionality may or may not provide you with | ||
different performance per watt characteristings than the -s | different performance per watt characteristings than the -s | ||
第158行: | 第165行: | ||
As mentioned above, use the -t 0 and -t 1 settings with caution. | As mentioned above, use the -t 0 and -t 1 settings with caution. | ||
</nowiki></pre> | </nowiki></pre> | ||
== | == External Links == | ||
* [http://www.transmeta.com/efficeon/faq.html Transmeta FAQ] | * [http://www.transmeta.com/efficeon/faq.html Transmeta FAQ] | ||
* [[UbuntuWiki: | * [[UbuntuWiki:HardwareSupportMachinesECS|ECS Hardware Support]] | ||
* http://research.indocisc.com/~andika/ecs/ | * http://research.indocisc.com/~andika/ecs/ | ||
''This HOWTO is a work in progress. Please feel free to comment on the Wiki, or contact [[UbuntuWiki: | ''This HOWTO is a work in progress. Please feel free to comment on the Wiki, or contact [[UbuntuWiki:DeanMichaelBerris|Dean Michael Berris]] for questions and clarifications.'' | ||
[[category:CategoryHardware | ---- | ||
[[category:CategoryHardware]] | |||
[[category:UbuntuHelp]] | [[category:UbuntuHelp]] |
2009年11月17日 (二) 19:47的最新版本
文章出处: |
{{#if: | {{{2}}} | https://help.ubuntu.com/community/LongRunHowTo }} |
点击翻译: |
English {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/af | • {{#if: UbuntuHelp:LongRunHowTo|Afrikaans| [[::LongRunHowTo/af|Afrikaans]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/ar | • {{#if: UbuntuHelp:LongRunHowTo|العربية| [[::LongRunHowTo/ar|العربية]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/az | • {{#if: UbuntuHelp:LongRunHowTo|azərbaycanca| [[::LongRunHowTo/az|azərbaycanca]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/bcc | • {{#if: UbuntuHelp:LongRunHowTo|جهلسری بلوچی| [[::LongRunHowTo/bcc|جهلسری بلوچی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/bg | • {{#if: UbuntuHelp:LongRunHowTo|български| [[::LongRunHowTo/bg|български]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/br | • {{#if: UbuntuHelp:LongRunHowTo|brezhoneg| [[::LongRunHowTo/br|brezhoneg]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/ca | • {{#if: UbuntuHelp:LongRunHowTo|català| [[::LongRunHowTo/ca|català]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/cs | • {{#if: UbuntuHelp:LongRunHowTo|čeština| [[::LongRunHowTo/cs|čeština]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/de | • {{#if: UbuntuHelp:LongRunHowTo|Deutsch| [[::LongRunHowTo/de|Deutsch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/el | • {{#if: UbuntuHelp:LongRunHowTo|Ελληνικά| [[::LongRunHowTo/el|Ελληνικά]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/es | • {{#if: UbuntuHelp:LongRunHowTo|español| [[::LongRunHowTo/es|español]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/fa | • {{#if: UbuntuHelp:LongRunHowTo|فارسی| [[::LongRunHowTo/fa|فارسی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/fi | • {{#if: UbuntuHelp:LongRunHowTo|suomi| [[::LongRunHowTo/fi|suomi]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/fr | • {{#if: UbuntuHelp:LongRunHowTo|français| [[::LongRunHowTo/fr|français]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/gu | • {{#if: UbuntuHelp:LongRunHowTo|ગુજરાતી| [[::LongRunHowTo/gu|ગુજરાતી]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/he | • {{#if: UbuntuHelp:LongRunHowTo|עברית| [[::LongRunHowTo/he|עברית]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/hu | • {{#if: UbuntuHelp:LongRunHowTo|magyar| [[::LongRunHowTo/hu|magyar]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/id | • {{#if: UbuntuHelp:LongRunHowTo|Bahasa Indonesia| [[::LongRunHowTo/id|Bahasa Indonesia]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/it | • {{#if: UbuntuHelp:LongRunHowTo|italiano| [[::LongRunHowTo/it|italiano]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/ja | • {{#if: UbuntuHelp:LongRunHowTo|日本語| [[::LongRunHowTo/ja|日本語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/ko | • {{#if: UbuntuHelp:LongRunHowTo|한국어| [[::LongRunHowTo/ko|한국어]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/ksh | • {{#if: UbuntuHelp:LongRunHowTo|Ripoarisch| [[::LongRunHowTo/ksh|Ripoarisch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/mr | • {{#if: UbuntuHelp:LongRunHowTo|मराठी| [[::LongRunHowTo/mr|मराठी]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/ms | • {{#if: UbuntuHelp:LongRunHowTo|Bahasa Melayu| [[::LongRunHowTo/ms|Bahasa Melayu]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/nl | • {{#if: UbuntuHelp:LongRunHowTo|Nederlands| [[::LongRunHowTo/nl|Nederlands]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/no | • {{#if: UbuntuHelp:LongRunHowTo|norsk| [[::LongRunHowTo/no|norsk]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/oc | • {{#if: UbuntuHelp:LongRunHowTo|occitan| [[::LongRunHowTo/oc|occitan]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/pl | • {{#if: UbuntuHelp:LongRunHowTo|polski| [[::LongRunHowTo/pl|polski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/pt | • {{#if: UbuntuHelp:LongRunHowTo|português| [[::LongRunHowTo/pt|português]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/ro | • {{#if: UbuntuHelp:LongRunHowTo|română| [[::LongRunHowTo/ro|română]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/ru | • {{#if: UbuntuHelp:LongRunHowTo|русский| [[::LongRunHowTo/ru|русский]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/si | • {{#if: UbuntuHelp:LongRunHowTo|සිංහල| [[::LongRunHowTo/si|සිංහල]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/sq | • {{#if: UbuntuHelp:LongRunHowTo|shqip| [[::LongRunHowTo/sq|shqip]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/sr | • {{#if: UbuntuHelp:LongRunHowTo|српски / srpski| [[::LongRunHowTo/sr|српски / srpski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/sv | • {{#if: UbuntuHelp:LongRunHowTo|svenska| [[::LongRunHowTo/sv|svenska]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/th | • {{#if: UbuntuHelp:LongRunHowTo|ไทย| [[::LongRunHowTo/th|ไทย]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/tr | • {{#if: UbuntuHelp:LongRunHowTo|Türkçe| [[::LongRunHowTo/tr|Türkçe]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/vi | • {{#if: UbuntuHelp:LongRunHowTo|Tiếng Việt| [[::LongRunHowTo/vi|Tiếng Việt]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/yue | • {{#if: UbuntuHelp:LongRunHowTo|粵語| [[::LongRunHowTo/yue|粵語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/zh | • {{#if: UbuntuHelp:LongRunHowTo|中文| [[::LongRunHowTo/zh|中文]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/zh-hans | • {{#if: UbuntuHelp:LongRunHowTo|中文(简体)| [[::LongRunHowTo/zh-hans|中文(简体)]]}}|}} {{#ifexist: {{#if: UbuntuHelp:LongRunHowTo | UbuntuHelp:LongRunHowTo | {{#if: | :}}LongRunHowTo}}/zh-hant | • {{#if: UbuntuHelp:LongRunHowTo|中文(繁體)| [[::LongRunHowTo/zh-hant|中文(繁體)]]}}|}} |
{{#ifeq:UbuntuHelp:LongRunHowTo|:LongRunHowTo|请不要直接编辑翻译本页,本页将定期与来源同步。}} |
{{#ifexist: :LongRunHowTo/zh | | {{#ifexist: LongRunHowTo/zh | | {{#ifeq: {{#titleparts:LongRunHowTo|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:LongRunHowTo|1|-1|}} | zh | | }}
<<Include(Tag/Unsupported)>>
- title LongRun Power Management Guide
Introduction
Long'Run is a feature introduced by Transmeta (tm) and used in the Crusoe (tm) and Efficeon (tm) processors. It allows processors to use power on demand to increase performance.
This page shows how Ubuntu 5.04 (Hoary Hedgehog) can be configured to control and take advantage of Long'Run-enabled processors. Instructions for running the longrun
utility are also included.
Note: Tips may work on previous versions of Ubuntu, but testing would be necessary to confirm their effectiveness.
Definition
The official definition from http://www.transmeta.com/efficeon/faq.html#12: Long'Run is Transmeta's original proprietary power management technology that enables processors to change voltage and frequency dynamically -- hundreds of times per second -- to provide the performance needed by the application at any moment. Transmeta introduced Long'Run power management in the Crusoe processor, and the new Efficeon processor now also incorporates Enhanced Long'Run technology.
Requirements
To be able to make use of the Long'Run functionality of the Transmeta Crusoe family of processors on Ubuntu, there are certain requirements, especially in the kernel drivers. These are the following:
- CPUID device driver
- MSR device driver
- longrun package (available from the universe repository)
The first two device drivers may be loaded from the default Ubuntu packaged Linux kernel by issuing the following commands from the terminal (or the shell):
sudo modprobe cpuid sudo modprobe msr
The two modules may be loaded during boot time by adding their names to /etc/modules -- part of which is shown below:
# /etc/modules: kernel modules to load at boot time. ... # load the two required modules for longrun at boot time. cpuid msr ...
The Long'Run utility is provided by the longrun
package from the Universe repository:
sudo apt-get install longrun
Command Index
There are five operations which can be done using the longrun
utility to enable, configure, disable, and query the Long'Run settings for the processor. These are:
- Listing Long'Run information about available performance levels for the processor.
- Printing the current Long'Run settings and status.
- Setting the Long'Run mode flag.
- Configuring the current Long'Run performance window.
- Setting the current Long'Run Thermal Extensions setting.
These operations are enumerated in depth in the following sections.
The basic format for the longrun
command is as follows:
longrun -c (cpuid device) -m (msr device) (command flag) [command options]
CPUID device pertains to the device created and associated with the CPUID device driver -- which works the same for the MSR device, created and associated with the MSR device driver. Usually, on uniprocessor systems, CPUID and MSR devices for the one and only processor are the following files respectively:
/dev/cpu/0/cpuid /dev/cpu/0/msr
When used in the longrun function
, it usually looks like the following:
sudo longrun -c /dev/cpu/0/cpuid -m /dev/cpu/0/msr ...
The '0' (zero) pertains to the cpu id which you want to be able to control with the utility. In cases where there are more than one Long'Run-capable processor in the system, each one gets a cpu id. For example, in a dual-Crusoe(TM) system, the second processor is accessed using the following device(s):
/dev/cpu/1/cpuid /dev/cpu/1/msr
NOTE: To be able to perform these operations, make sure that the appropriate drivers have been loaded and that the longrun
utility is installed in the system. See above for information about installing required packages and loaded device drivers.
Displaying current settings and status.
The following command can be used to display the current settings and status:
sudo longrun -c /dev/0/cpuid -m /dev/0/msr -p
Which would yield something similar to this:
LongRun: enabled LongRun Thermal Extensions (LTX): inactive Current performance window: 0 to 100 Current performance level: 66 LongRun flags: economy
Listing available LongRun performance levels
To see the available performance levels for the processor, the following command should show that information on the terminal/command line:
sudo longrun -c /dev/cpu/0/cpuid -m /dev/cpu/0/msr -l
Typical outputs look like the following:
# % MHz Volts usage SDR DDR PCI 0 300 1.200 0.281 100 75 33 33 400 1.250 0.407 100 80 33 66 500 1.400 0.638 125 100 33 100 600 1.600 1.000 120 100 33
The above values are obtained from a Transmeta(TM) Crusoe(TM) Processor TM5600, installed on an ECS Desknote A530 (See ECS Hardware Support for more information). The significant values of note are the values on the first column, which defines the possible values for the performance window.
Configuring the Current Performance Window
Given the values from the available performance levels, setting the current performance window (minimum and maximum levels) may be done using the following command:
sudo longrun -c /dev/cpu/0/cpuid -m /dev/cpu/0/msr -s 0 100
When the current settings and status are displayed, the output should be similar to the following:
sudo longrun -c /dev/cpu/0/cpuid -m /dev/cpu/0/msr -p
Ouput:
LongRun: enabled LongRun Thermal Extensions (LTX): inactive Current performance window: 0 to 100 Current performance level: 100 LongRun flags: economy
TODO: Explain performance window and its effect on the performance of the processor.
Setting the performance mode flag
Long'Run CPU's have different performance mode flags, which can be set using the -f' option of the longrun utility. In the case of the Transmeta Crusoe TM5600, the two flags performance and economy are available.
To set the performance flag using the longrun
utility, the following command can be used:
sudo longrun -c /dev/0/cpuid -m /dev/0/msr -f performance
This sets the performance flag for the processor. To verify the results, the settings are printed:
sudo longrun -c /dev/0/cpuid -m /dev/0/msr -p
LongRun: enabled LongRun Thermal Extensions (LTX): inactive Current performance window: 0 to 100 Current performance level: 100 LongRun flags: performance
TODO: Explain what the performance and economy flags do for the processor. Consult technical docs for more info.
Setting thermal extension settings.
Long'Run Thermal Extensions (LTX) can be enabled, disabled, and configured using the -t' option. Valid values range from 0 to 8 where a setting of 8 turns off the extensions. To set the LTX to the highest sensitivity (?) setting of 0, the following command can be used:
sudo longrun -c /dev/cpu/0/cpuid -m /dev/cpu/0/msr -t 0
To verify:
sudo longrun -c /dev/cpu/0/cpuid -m /dev/cpu/0/msr -p
LongRun: enabled LongRun Thermal Extensions (LTX): active LTX setting: reserved Current performance window: 0 to 100 Current performance level: 0 LongRun flags: performance
Notice that the LTX setting is set to reserved' while the Long'Run Thermal Extensions (LTX) indicates that it's "active". From man longrun:
Longrun Thermal Extensions (LTX) is an alternative way to manipulate the power saving functionality of the processor, by controlling heat dissipation directly. Settings 2 through 8 represent power utilization levels from 25% to 100%, respectively, in 12.5% increments. NOTE: Settings 0 and 1 are listed as ’reserved’ in the TM5600 literature. Though they appear to represent 0% and 12.5% respectively on the TM5800 chip, use these settings at your own risk. ... Notes: This functionality may or may not provide you with different performance per watt characteristings than the -s flag. It is provided for completeness, and left as an exercise to the reader to decide if it is appropriate on their system. As mentioned above, use the -t 0 and -t 1 settings with caution.
External Links
This HOWTO is a work in progress. Please feel free to comment on the Wiki, or contact Dean Michael Berris for questions and clarifications.