From: Kenneth Parrish <Kenneth.Parrish@family-bbs.org>
To: linux-kernel@vger.kernel.org
Subject: Re: [ACPI] acpi_processor_set_power_policy
Date: 9 Jun 2005 00:14:40 GMT [thread overview]
Message-ID: <203fc2.c899d4@family-bbs.org> (raw)
-=> Kenneth Parrish wrote to All <=-
KP> SEEN-BY: 8/1 2 2003
KP> PATH: 8/2003 1 2
KP> MSGID: 8:8/2003 122ea9cd
KP> TZUTC: -0600
KP> CHARSET: PC-8
KP> From: Kenneth Parrish <Kenneth.Parrish@family-bbs.org>
KP> # readprofile -r ; sleep 1 ; readprofile -m /boot/System.map
| sort -nr
KP> 527 total 0.0003
KP> 502 acpi_processor_set_power_policy 2.6989
KP> 7 sort 0.0208
KP> 7 release_task 0.0208
KP> 4 zone_watermark_ok 0.0208
KP> 3 do_page_fault 0.0021
KP> 1 unmap_page_range 0.0057
KP> 1 show_free_areas 0.0013
KP> 1 do_file_page 0.0048
KP> 1 buffered_rmqueue 0.0020
KP> Should acpi_processor_set_power_policy be called this often?
KP> Kernel: 2.6.12-rc5-git9 # define HZ 500
KP> <include/asm-i386/param.h> Computer: Cyrix MII and VIA MVP3,
KP> e-machines '99 dmesg.. Kernel command line:
KP> BOOT_IMAGE=2.6.12-rc5-git9 ro root=301 clock=tsc elevator=
KP> deadline lpj=376832 profile=2
KP> kernel profiling enabled (shift: 2)
KP> More information and at request.
KP> ... A: 6-1/2" x 6-1/2" x 2" Q: How big is the Mac Mini?
KP> -+- MultiMail/Linux v0.46 [currently BlueWave packet type]
KP> -
KP> To unsubscribe from this list: send the line "unsubscribe
KP> linux-kernel" in the body of a message to
KP> majordomo@vger.kernel.org More majordomo info at
KP> http://vger.kernel.org/majordomo-info.html Please read the
KP> FAQ at http://www.tux.org/lkml/
KP> --- BBBS/NT v4.01 Flag-5
KP> * Origin: FamilyNet Sponsored by
KP> http://www.christian-wellness.net (8:8/2003)
I noticed the subject function appears in drivers/acpi/processor_idle.c
and tried a couple of things. Look OK? comments on the [misguided?] patch?
:-)
This seems to cut the acpi function time reported by readprofile
~85%, and changes the function from acpi_processor_set_power_policy to
acpi_processor_idle.
260 total 0.0002
251 acpi_processor_idle 0.4163
4 __copy_to_user_ll 0.0625
3 __unhash_process 0.0170
1 zap_page_range 0.0042
1 create_elf_tables 0.0010
Note the tick has changed from 500 -> 250 HZ.
Apparently C1<->C2 transition works OK still:
active state: C2
max_cstate: C8
bus master activity: 00000000
states:
C1: type[C1] promotion[C2] demotion[--] latency[000]
usage[00004380]
*C2: type[C2] promotion[--] demotion[C1] latency[100]
usage[00381931]
--- processor_idle.c.orig 2005-06-08 13:05:11.000000000 -0500
+++ processor_idle.c 2005-06-08 16:59:06.000000000 -0500
@@ -67,7 +67,7 @@
* 100 HZ: 0x0000000F: 4 jiffies = 40ms
* reduce history for more aggressive entry into C3
*/
-static unsigned int bm_history = (HZ >= 800 ? 0xFFFFFFFF : ((1U << (HZ / 25))
- 1));
+static unsigned int bm_history = (HZ >= 500 ? 0xFFFFFFFF : ((1U << (HZ / 25))
- 1));
module_param(bm_history, uint, 0644);
/* --------------------------------------------------------------------------
Power Management
@@ -336,7 +336,7 @@
cx->promotion.count++;
cx->demotion.count = 0;
if (cx->promotion.count >= cx->promotion.threshold.coun
- if (pr->flags.bm_check) {
+ if (unlikely(pr->flags.bm_check)) {
if (!(pr->power.bm_activity & cx->promo
next_state = cx->promotion.stat
goto end;
@@ -382,7 +382,7 @@
* If we're going to start using a new Cx state we must clean up
* from the previous and prepare to use the new.
*/
- if (next_state != pr->power.state)
+ if (unlikely(next_state != pr->power.state))
acpi_processor_power_activate(pr, next_state);
return;
@@ -446,8 +446,6 @@
cx->demotion.state = lower;
cx->demotion.threshold.ticks = cx->latency_ticks;
cx->demotion.threshold.count = 1;
- if (cx->type == ACPI_STATE_C3)
- cx->demotion.threshold.bm = bm_history;
}
lower = cx;
@@ -462,12 +460,7 @@
if (higher) {
cx->promotion.state = higher;
cx->promotion.threshold.ticks = cx->latency_ticks;
- if (cx->type >= ACPI_STATE_C2)
- cx->promotion.threshold.count = 4;
- else
cx->promotion.threshold.count = 10;
- if (higher->type == ACPI_STATE_C3)
- cx->promotion.threshold.bm = bm_history;
}
higher = cx;
... "Will he say nasty things at my funeral?" -- Ezra Pound
--- MultiMail/Linux v0.46
next reply other threads:[~2005-06-09 0:18 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-09 0:14 Kenneth Parrish [this message]
-- strict thread matches above, loose matches on Subject: below --
2005-06-10 5:10 [ACPI] acpi_processor_set_power_policy Kenneth Parrish
2005-06-09 21:26 Pallipadi, Venkatesh
2005-06-08 0:59 Kenneth Parrish
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=203fc2.c899d4@family-bbs.org \
--to=kenneth.parrish@family-bbs.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.