Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 69734 | Differences between
and this patch

Collapse All | Expand All

(-)power-management-guide-1.17.xml (-104 / +297 lines)
Lines 5-11 Link Here
5
<title>Power Management Guide</title>
5
<title>Power Management Guide</title>
6
6
7
<author title="Author">
7
<author title="Author">
8
  <mail link="fragfred@gmx.de">Dennis Nienh&#252;ser</mail>
8
  <mail link="fragfred@gmx.de">Dennis Nienhüser</mail>
9
</author>
9
</author>
10
10
11
<abstract>
11
<abstract>
Lines 17-24 Link Here
17
<!-- See http://creativecommons.org/licenses/by-sa/2.0 -->
17
<!-- See http://creativecommons.org/licenses/by-sa/2.0 -->
18
<license/>
18
<license/>
19
19
20
<version>1.17</version>
20
<version>1.18</version>
21
<date>October 10, 2004</date>
21
<date>January 02, 2005</date>
22
22
23
<chapter>
23
<chapter>
24
<title>Introduction</title>
24
<title>Introduction</title>
Lines 164-178 Link Here
164
          Default CPUFreq governor (userspace)
164
          Default CPUFreq governor (userspace)
165
    &lt;*&gt;   'performance' governor
165
    &lt;*&gt;   'performance' governor
166
    &lt;*&gt;   'powersave' governor
166
    &lt;*&gt;   'powersave' governor
167
    &lt;*&gt;   'ondemand' cpufreq policy governor
167
    &lt;*&gt;   CPU frequency table helpers
168
    &lt;*&gt;   CPU frequency table helpers
168
    &lt;M&gt; ACPI Processor P-States driver
169
    &lt;M&gt; ACPI Processor P-States driver
169
    &lt;*&gt; <i>CPUFreq driver for your processor</i>
170
    &lt;*&gt; <i>CPUFreq driver for your processor</i>
170
</pre>
171
</pre>
171
172
172
<p>
173
<p>
173
Decide yourself whether you want to enable Software Suspend, Suspend-to-Disk
174
Decide yourself whether you want to enable Software Suspend, Suspend-to-Disk and
174
and Sleep States (see below). If you own an ASUS, Medion or Toshiba laptop,
175
Sleep States (see below). If you own an ASUS, Medion or Toshiba laptop, enable
175
enable the appropriate section.
176
the appropriate section. Recent kernel versions (2.6.9 and later) include an
177
<e>'ondemand' governor</e> for CPU Frequency Scaling, activate it as well when
178
using such a kernel.
179
</p>
180
181
<p>
182
The kernel has to know how to enable CPU frequency scaling on your processor. As
183
each type of CPU has a different interface, you've got to choose the right
184
driver for your processor. Be careful here - enabling <e>Intel Pentium 4 clock
185
modulation</e> on a Pentium M system will lead to strange results for example.
186
Consult the kernel documentation if you're unsure which one to take.
176
</p>
187
</p>
177
188
178
<p>
189
<p>
Lines 230-299 Link Here
230
241
231
<p>
242
<p>
232
Typical ACPI events are closing the lid, changing the power source or pressing
243
Typical ACPI events are closing the lid, changing the power source or pressing
233
the sleep button. Every acpi event recognized by the kernel is catched by acpid
244
the sleep button. Create the following files to switch between <e>default</e>
234
which calls <path>/etc/acpi/default.sh</path>. Here is a basic modification
245
and <e>battery</e> runlevel depending on the power source:
235
supporting runlevel switching:
246
</p>
236
</p>
247
237
248
<pre caption="/etc/acpi/switch_runlevel.conf">
238
<pre caption="Event driven runlevel switching with acpid">
249
#!/bin/bash
239
#!/bin/sh
250
240
251
# This runlevel will be used in AC mode
241
set $*
252
#RUNLEVEL_AC="default"
242
253
243
group=${1/\/*/}
254
# This runlevel will be used in battery mode
244
action=${1/*\//}
255
#RUNLEVEL_BATTERY="battery"
245
256
246
<comment># runlevel to use in AC mode</comment>
257
# This file indicates the AC state
247
RLVL_AC="default"
258
# It's location may vary on your system. The script checks for
248
<comment># runlevel to use in battery mode</comment>
259
# /proc/acpi/ac_adapter/AC/state and /proc/acpi/ac_adapter/AC0/stat
249
RLVL_BATTERY="battery"
260
# If it is something else on your system, uncomment the next line
250
261
# and change appropriately.
251
<comment># file indicating the AC state. Verify the filename before using</comment>
262
#AC_STATE="/proc/acpi/ac_adapter/AC/state"
252
AC_STATE="/proc/acpi/ac_adapter/AC/state"
263
</pre>
253
<comment># this string means running on AC</comment>
264
254
AC_ON="on-line"
265
<pre caption="/etc/acpi/switch_runlevel.sh">
255
<comment># this string means running on batteries</comment>
266
#!/bin/bash
256
AC_OFF="off-line"
267
268
RUNLEVEL_AC="default"
269
RUNLEVEL_BATTERY="battery"
270
271
if [ -f '/proc/acpi/ac_adapter/AC0/state' ]
272
then
273
    AC_STATE="/proc/acpi/ac_adapter/AC0/state"
274
else
275
    AC_STATE="/proc/acpi/ac_adapter/AC/state"
276
fi
277
278
279
source /etc/acpi/switch_runlevel.conf
257
280
258
function SwitchRunlevel() {
281
function SwitchRunlevel() {
259
  if [[ "$(grep ${AC_OFF} ${AC_STATE})" != "" &amp;&amp; "$(cat /var/lib/init.d/softlevel)" != "${RLVL_BATTERY}" ]]
282
283
    if [ ! -d "/etc/runlevels/${RUNLEVEL_AC}" ]
284
    then
285
        logger "${0}: Runlevel ${RUNLEVEL_AC} does not exist. Aborting."
286
        exit 1
287
    fi
288
289
290
    if [ ! -d "/etc/runlevels/${RUNLEVEL_BATTERY}" ]
291
    then
292
        logger "${0}: Runlevel ${RUNLEVEL_BATTERY} does not exist. Aborting."
293
        exit 1
294
    fi
295
296
    if [ ! -f "${AC_STATE}" ]
297
    then
298
        logger "${0}: File ${AC_STATE} does not exist. Aborting"
299
        exit 1
300
    fi
301
302
303
    if [[ "$(grep off-line ${AC_STATE})" != "" &amp;&amp; "$(cat /var/lib/init.d/softlevel)" != "${RUNLEVEL_BATTERY}" ]]
260
  then
304
  then
261
    logger "Switching to ${RLVL_BATTERY} runlevel"
305
        logger "Switching to ${RUNLEVEL_BATTERY} runlevel"
262
    /sbin/rc ${RLVL_BATTERY}
306
        /sbin/rc ${RUNLEVEL_BATTERY}
263
  elif [[ "$(grep ${AC_ON} ${AC_STATE})" != "" &amp;&amp; "$(cat /var/lib/init.d/softlevel)" != "${RLVL_AC}" ]]
307
    elif [[ "$(grep on-line ${AC_STATE})" != "" &amp;&amp; "$(cat /var/lib/init.d/softlevel)" != "${RUNLEVEL_AC}" ]]
264
  then
308
  then
265
    logger "Switching to ${RLVL_AC} runlevel"
309
        logger "Switching to ${RUNLEVEL_AC} runlevel"
266
    /sbin/rc ${RLVL_AC}
310
        /sbin/rc ${RUNLEVEL_AC}
267
  fi
311
  fi
268
}
312
}
313
</pre>
314
315
<pre caption="/etc/acpi/events/pmg_ac_adapter">
316
event=ac_adapter.*
317
action=/etc/acpi/actions/pmg_ac_adapter.sh %e
318
</pre>
319
320
<pre caption="/etc/acpi/events/pmg_battery">
321
event=battery.*
322
action=/etc/acpi/actions/pmg_battery.sh %e
323
</pre>
324
325
<pre caption="/etc/acpi/actions/pmg_ac_adapter.sh">
326
#! /bin/bash
327
328
source /etc/acpi/switch_runlevel.sh
329
SwitchRunlevel
330
</pre>
331
332
<pre caption="/etc/acpi/actions/pmg_battery.sh">
333
#! /bin/bash
334
335
source /etc/acpi/switch_runlevel.sh
336
SwitchRunlevel
337
</pre>
269
338
339
<p>
340
Some of these files must be executable. Last not least restart acpid to have
341
it recognize the changes.
342
</p>
270
343
271
case "$group" in
344
<pre caption="Finishing runlevel switching with acpid">
272
  battery)
345
<i># chmod +x /etc/acpi/switch_runlevel.sh</i>
273
    case "$action" in
346
<i># chmod +x /etc/acpi/actions/pmg_*</i>
274
      battery) 
347
<i># /etc/init.d/acpid restart</i>
275
        SwitchRunlevel
276
        ;;
277
      *) 
278
        logger "ACPI group battery / action $action is not defined"
279
        ;;
280
    esac
281
    ;;
282
283
  ac_adapter)
284
    case "$action" in
285
      ac_adapter)
286
        SwitchRunlevel
287
        ;;
288
      *)
289
        logger "ACPI group ac_adapter / action $action is not defined"
290
        ;;
291
    esac
292
    ;;
293
  *)
294
    logger "ACPI group $group / action $action is not defined"
295
    ;;
296
esac
297
</pre>
348
</pre>
298
349
299
<p>
350
<p>
Lines 304-310 Link Here
304
<p>
355
<p>
305
Due to the nature of the event mechanism, your laptop will boot into runlevel
356
Due to the nature of the event mechanism, your laptop will boot into runlevel
306
<e>default</e> regardless of the AC/battery state. You can add another entry
357
<e>default</e> regardless of the AC/battery state. You can add another entry
307
to the boot loader with <c>softlevel=boot</c>, but it's likely to forget
358
to the boot loader with <c>softlevel=battery</c>, but it's likely to forget
308
choosing it. A better way is faking an ACPI event in the end of the boot
359
choosing it. A better way is faking an ACPI event in the end of the boot
309
process and let the <path>/etc/acpi/default.sh</path> script decide whether a
360
process and let the <path>/etc/acpi/default.sh</path> script decide whether a
310
runlevel change is necessary. Open <path>/etc/conf.d/local.start</path> in your
361
runlevel change is necessary. Open <path>/etc/conf.d/local.start</path> in your
Lines 313-319 Link Here
313
364
314
<pre caption="Runlevel switch at boot time by editing local.start">
365
<pre caption="Runlevel switch at boot time by editing local.start">
315
<comment># Fake acpi event to switch runlevel if running on batteries</comment>
366
<comment># Fake acpi event to switch runlevel if running on batteries</comment>
316
/etc/acpi/default.sh "battery/battery"
367
/etc/acpi/actions/pmg_battery.sh "battery/battery"
317
</pre>
368
</pre>
318
369
319
<p>
370
<p>
Lines 328-333 Link Here
328
<chapter>
379
<chapter>
329
<title>CPU Power Management</title>
380
<title>CPU Power Management</title>
330
<section>
381
<section>
382
<title>Some technical terms</title>
383
<body>
384
385
<p>
386
CPU frequency scaling brings up some technical terms that might be unknown to
387
you. Here's a quick introduction.
388
</p>
389
390
<p>
391
First of all, the kernel has to be able to change the processor's frequency. The
392
<e>CPUfreq processor driver</e> knows the commands to do it on your CPU. Thus
393
it's important to choose the right one in your kernel. You should already have
394
done it above. Once the kernel knows how to change frequencies, it has to know
395
which frequency it should set. This is done according to the <e>policy</e> which
396
consists of <e>CPUfreq policy</e> and a <e>governor</e>. A CPUfreq policy are
397
just two numbers which define a range the frequency has to stay between -
398
minimal and maximal frequency. The governor now decides which of the available
399
frequencies in between minimal and maximal frequency to choose. For example, the
400
<e>powersave governor</e> always chooses the lowest frequency available, the
401
<e>performance governor</e> the highest one. The <e>userspace governor</e> makes
402
no decision but chooses whatever the user (or a program in userspace) wants -
403
which means it reads the frequency from
404
<path>/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed</path>.
405
</p>
406
407
<p>
408
This doesn't sound like dynamic frequency changes yet and in fact it isn't.
409
Dynamics however can be accomplished with various approaches. For example,
410
the <e>ondemand governor</e> makes its decisions depending on the current CPU
411
load. The same is done by various userland tools like <c>cpudyn</c>,
412
<c>speedfreq</c>, <c>powernowd</c> and many more. ACPI events can be used to
413
enable or disable dynamic frequency changes depending on power source.
414
</p>
415
416
</body>
417
</section>
418
<section>
331
<title>Setting the frequency manually</title>
419
<title>Setting the frequency manually</title>
332
<body>
420
<body>
333
421
Lines 394-432 Link Here
394
482
395
<p>
483
<p>
396
The above is quite nice, but not doable in daily life. Better let your system
484
The above is quite nice, but not doable in daily life. Better let your system
397
set the appropriate frequency automatically. A couple of user space programs
485
set the appropriate frequency automatically. There are many different approaches
398
like to do it for you. The following table gives a quick overview to help you
486
to do this. The following table gives a quick overview to help you decide on one
399
decide on one of them.
487
of them. It's roughly seperated in three categories <e>kernel</e> for approaches
488
that only need kernel support, <e>daemon</e> for programs that run in the
489
background and <e>graphical</e> for programs that provide a GUI for easy
490
configuration and changes.
400
</p>
491
</p>
401
492
402
<table>
493
<table>
403
<tr>
494
<tr>
404
  <th>Name</th>
495
  <th>Name</th>
405
  <th>Pro</th>
496
  <th>Category</th>
406
  <th>Con</th>
497
  <th>Switch decision</th>
498
  <th>Kernel governors</th>
499
  <th>Further governors</th>
500
  <th>Comments</th>
501
</tr>
502
<tr>
503
  <ti>'ondemand' governor</ti>
504
  <ti>Kernel</ti>
505
  <ti>CPU load</ti>
506
  <ti>N.A.</ti>
507
  <ti>N.A.</ti>
508
  <ti>
509
    Further tuning through files in
510
    <path>/sys/devices/system/cpu/cpu0/cpufreq/ondemand/</path>. Still requires
511
    userland tools (programs, scripts) if governor switching or similar is
512
    desired.
513
  </ti>
407
</tr>
514
</tr>
408
<tr>
515
<tr>
409
  <ti><uri link="http://mnm.uib.es/~gallir/cpudyn/">cpudyn</uri></ti>
516
  <ti><uri link="http://mnm.uib.es/~gallir/cpudyn/">cpudyn</uri></ti>
410
  <ti>Also supports disk standby</ti>
517
  <ti>Daemon</ti>
411
  <ti></ti>
518
  <ti>CPU load</ti>
519
  <ti>None</ti>
520
  <ti>Dynamic</ti>
521
  <ti>
522
    Also supports disk standby - notice however that <e>laptop mode</e> in most
523
    cases will do a better job.
524
  </ti>
525
</tr>
526
<tr>
527
  <ti><uri link="http://sourceforge.net/projects/cpufreqd/">cpufreqd</uri></ti>
528
  <ti>Daemon</ti>
529
  <ti>Battery state, CPU load, running programs</ti>
530
  <ti>All available</ti>
531
  <ti>None</ti>
532
  <ti>
533
    Sophisticated (but also complicated) setup. An optimal configuration
534
    requires detailed knowledge of your system.
535
  </ti>
412
</tr>
536
</tr>
413
<tr>
537
<tr>
414
  <ti><uri link="http://sourceforge.net/projects/cpufreqd/">cpufreq</uri></ti>
538
  <ti>
415
  <ti>Sophisticated setup possible</ti>
539
    <uri link="http://www.deater.net/john/powernowd.html">powernowd</uri>
416
  <ti>Complicated setup</ti>
540
  </ti>
541
  <ti>Daemon</ti>
542
  <ti>CPU load</ti>
543
  <ti>None</ti>
544
  <ti>Passive, sine, aggressive</ti>
545
  <ti>
546
    Supports SMP.
547
  </ti>
417
</tr>
548
</tr>
418
<tr>
549
<tr>
419
  <ti><uri link="http://www.goop.org/~jeremy/speedfreq/">speedfreq</uri></ti>
550
  <ti><uri link="http://www.goop.org/~jeremy/speedfreq/">speedfreq</uri></ti>
551
  <ti>Daemon</ti>
552
  <ti>CPU load</ti>
553
  <ti>None</ti>
554
  <ti>Dynamic, powersave, performance, fixed speed</ti>
555
  <ti>
556
    Small yet powerful with an useful client/server interface. Requires a 2.6
557
    kernel.
558
  </ti>
559
</tr>
560
<tr>
561
  <ti><uri link="http://cpuspeedy.sourceforge.net/">gtk-cpuspeedy</uri></ti>
562
  <ti>Graphical</ti>
563
  <ti>None</ti>
564
  <ti>None</ti>
565
  <ti>None</ti>
420
  <ti>
566
  <ti>
421
    Small yet powerful<br />
567
    Gnome application, a graphical tool to set CPU frequency manually. It does
422
    Useful client/server interface
568
    not offer any automation and is mainly listed for the sake of completeness.
423
  </ti>
569
  </ti>
424
  <ti>Kernel 2.6 series only</ti>
425
</tr>
570
</tr>
426
<tr>
571
<tr>
427
  <ti><uri link="http://www.deater.net/john/powernowd.html">powernowd</uri></ti>
572
  <ti>klaptopdaemon</ti>
428
  <ti>Supports SMP</ti>
573
  <ti>Graphical</ti>
429
  <ti></ti>
574
  <ti>Battery state</ti>
575
  <ti>All available</ti>
576
  <ti>None</ti>
577
  <ti>
578
    KDE only, 'ondemand' governor required for dynamic frequency scaling.
579
  </ti>
430
</tr>
580
</tr>
431
</table>
581
</table>
432
582
Lines 458-470 Link Here
458
</pre>
608
</pre>
459
609
460
<p>
610
<p>
461
Setting up cpufreq is a little bit more complicated.
611
Setting up cpufreqd is a little bit more complicated.
462
</p>
612
</p>
463
613
464
<warn>
614
<warn>
465
Do not run more than one of the above programs at the same time. It may cause
615
Do not run more than one of the above programs at the same time. It may cause
466
confusion like switching between two frequencies all the time. If you just
616
confusion like switching between two frequencies all the time. If you just
467
installed speedfreq, skip cpufreq now.
617
installed speedfreq, skip cpufreqd now.
468
</warn>
618
</warn>
469
619
470
<pre caption="Installing cpufreqd">
620
<pre caption="Installing cpufreqd">
Lines 548-556 Link Here
548
<c>speedfreq</c>.
698
<c>speedfreq</c>.
549
</p>
699
</p>
550
700
701
</body>
702
</section>
703
704
<section>
705
<title>Verifying the result</title>
706
707
<body>
708
551
<p>
709
<p>
552
The last thing to check is that your new policies do a good job. An easy way to
710
The last thing to check is that your new policies do a good job. An easy way to
553
do so is monitoring the CPU speed while working with your laptop:
711
do so is monitoring CPU speed while working with your laptop:
554
</p>
712
</p>
555
713
556
<pre caption="Monitoring CPU speed">
714
<pre caption="Monitoring CPU speed">
Lines 715-739 Link Here
715
</p>
873
</p>
716
874
717
<p>
875
<p>
718
<!-- FIXME: bug #45593 -->
876
<!-- TODO: bug #45593 -->
719
To start and stop laptop-mode, create a script /etc/init.d/laptop-mode. You can
877
Besides kernel support you also need a script that controls starting and
720
take the one included in
878
stopping of laptop-mode. You kernel documentation in
721
<path>/usr/src/linux/Documentation/laptop-mode.txt</path>. Onces it's ready,
879
<path>/usr/src/linux/Documentation/laptop-mode.txt</path> contains one as well
722
make sure it gets called.
880
as the package <c>laptop-mode-tools</c>. None of them is easy to install
881
though.
723
</p>
882
</p>
724
883
725
<pre caption="Automatic start of laptop-mode">
884
<p>
726
# <i>rc-update add laptop-mode battery</i>
885
Ebuilds for laptop-mode-tools are not in Portage, because Gentoo developers
727
</pre>
886
don't think they are production ready yet. Take that into consideration
887
before using the ebuilds which can be found in <uri
888
link="http://bugs.gentoo.org/show_bug.cgi?id=45593">Bugzilla</uri>. The Gentoo
889
Handbook tells you how to use external ebuilds if you don't know where to put
890
them. Once your PORTDIR_OVERLAY contains the ebuilds, install the
891
script:
892
</p>
728
893
729
<warn>
894
<warn>
730
Once again: Be careful with sleep/spin down settings of your hard drive.
895
This package is not seen as production ready and installing custom ebuilds from
731
Setting it to small values might wear out your drive and lose warranty. Be sure
896
Bugzilla is not recommended. Please don't use laptop-mode-tools if you're
732
to read the documentation in laptop-mode.txt. Make sure to stop laptop-mode
897
unsure.
733
before your battery runs out of power and data gets written to disk - otherwise
734
you will at least lose the last 10 minutes of your work.
735
</warn>
898
</warn>
736
899
900
<pre caption="Automated start of laptop-mode">
901
# <i>emerge laptop-mode-tools</i>
902
</pre>
903
904
<p>
905
<c>laptop-mode-tools</c> has it's configuration file in
906
<path>/etc/laptop-mode/laptop-mode.conf</path>. Adjust it the way you like it,
907
it's well commented. If you have <e>apm</e> or <e>acpi</e> in your USE flags,
908
laptop-mode will be started automatically in battery mode. Otherwise you can
909
automate it by running <c>rc-update add laptop-mode battery</c>.
910
</p>
911
737
</body>
912
</body>
738
</section>
913
</section>
739
<section>
914
<section>
Lines 948-964 Link Here
948
# <i>echo 3 &gt; /proc/acpi/sleep</i>          <comment>(sleep)</comment>
1123
# <i>echo 3 &gt; /proc/acpi/sleep</i>          <comment>(sleep)</comment>
949
1124
950
<comment>(kernel 2.6 series)</comment>
1125
<comment>(kernel 2.6 series)</comment>
951
# <i>echo -n standby &gt; /sys/power/state</i> <comment>standby</comment>
1126
# <i>echo -n standby &gt; /sys/power/state</i> <comment>(standby)</comment>
952
# <i>echo -n mem &gt; /sys/power/state</i>     <comment>sleep</comment>
1127
# <i>echo -n mem &gt; /sys/power/state</i>     <comment>(sleep)</comment>
953
1128
954
<comment>(swsusp)</comment>
1129
<comment>(swsusp)</comment>
955
# <i>echo 4 &gt; /proc/acpi/sleep</i>          <comment>hibernate</comment>
1130
# <i>echo 4 &gt; /proc/acpi/sleep</i>          <comment>(hibernate)</comment>
956
1131
957
<comment>(Suspend-to-Disk)</comment>
1132
<comment>(Suspend-to-Disk)</comment>
958
# <i>echo -n disk &gt; /sys/power/state</i>    <comment>hibernate</comment>
1133
# <i>echo -n disk &gt; /sys/power/state</i>    <comment>(hibernate)</comment>
959
1134
960
<comment>(swsusp2)</comment>
1135
<comment>(swsusp2)</comment>
961
# <i>echo &gt; /proc/swsusp/activate</i>
1136
# <i>/usr/sbin/hibernate</i>                   <comment>(hibernate, see below)</comment>
962
</pre>
1137
</pre>
963
1138
964
<warn>
1139
<warn>
Lines 976-987 Link Here
976
<p>
1151
<p>
977
While the above should be sufficient to get swsusp and Suspend-to-Disk running
1152
While the above should be sufficient to get swsusp and Suspend-to-Disk running
978
(I didn't say working), swsusp2 needs special care. 
1153
(I didn't say working), swsusp2 needs special care. 
979
The first thing to do is to patch the kernel with the patches provided at <uri
1154
The first thing to do is patching the kernel with the patches provided at <uri
980
link="http://softwaresuspend.berlios.de/">
1155
link="http://softwaresuspend.berlios.de/">
981
http://softwaresuspend.berlios.de/</uri>. Afterwards, install the hibernate 
1156
http://softwaresuspend.berlios.de/</uri>. Additionally you've got to emerge
982
script from the same page.
1157
<c>hibernate-script</c>. Once it is installed, configure
1158
<path>/etc/hibernate/hibernate.conf</path> and try whether it works:
983
</p>
1159
</p>
984
1160
1161
<pre>
1162
<i># emerge hibernate-script</i>
1163
<i># $EDITOR /etc/hibernate/hibernate.conf</i>
1164
<comment>(Last chance to backup any data)</comment>
1165
<i># hibernate</i>
1166
</pre>
1167
985
</body>
1168
</body>
986
</section>
1169
</section>
987
</chapter>
1170
</chapter>
Lines 1049-1054 Link Here
1049
</p>
1232
</p>
1050
1233
1051
<p>
1234
<p>
1235
<e>Q:</e> When configuring the kernel, powersave, performance and userspace
1236
governors show up, but that ondemand thing is missing. Where do I get it?
1237
</p>
1238
1239
<p>
1240
<e>A:</e> The ondemand governor is only included in recent kernel sources. Try
1241
updating them.
1242
</p>
1243
1244
<p>
1052
<e>Q:</e> Battery life time seems to be worse than before.
1245
<e>Q:</e> Battery life time seems to be worse than before.
1053
</p>
1246
</p>
1054
1247

Return to bug 69734