From: Dominik Brodowski <linux@dominikbrodowski.net>
To: Con Kolivas <kernel@kolivas.org>, len.brown@intel.com
Cc: linux kernel mailing list <linux-kernel@vger.kernel.org>,
Daniel Petrini <d.pensator@gmail.com>,
Tony Lindgren <tony@atomide.com>,
vatsa@in.ibm.com, ck list <ck@vds.kolivas.org>,
Pavel Machek <pavel@ucw.cz>, Adam Belay <abelay@novell.com>,
Zwane Mwaikambo <zwane@arm.linux.org.uk>,
"Theodore Ts'o" <tytso@mit.edu>,
linux-acpi@vger.kernel.org
Subject: [PATCH 2/4] ACPI C-States: bm_activity handling improvement
Date: Sat, 31 Dec 2005 12:11:50 +0100 [thread overview]
Message-ID: <20051231111150.GC9123@dominikbrodowski.de> (raw)
In-Reply-To: <20051231110955.GA9123@dominikbrodowski.de>
Only if bus master activity is going on at the present, we should
avoid entering C3-type sleep, as it might be a faulty transition. As long
as the bm_activity bitmask was based on the number of calls to the ACPI
idle function, looking at previous moments made sense. Now, with it being
based on what happened this jiffy, looking at this jiffy should be
sufficient.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Index: working-tree/drivers/acpi/processor_idle.c
===================================================================
--- working-tree.orig/drivers/acpi/processor_idle.c
+++ working-tree/drivers/acpi/processor_idle.c
@@ -250,10 +250,10 @@ static void acpi_processor_idle(void)
pr->power.bm_check_timestamp = jiffies;
/*
- * Apply bus mastering demotion policy. Automatically demote
+ * If bus mastering is or was active this jiffy, demote
* to avoid a faulty transition. Note that the processor
* won't enter a low-power state during this call (to this
- * funciton) but should upon the next.
+ * function) but should upon the next.
*
* TBD: A better policy might be to fallback to the demotion
* state (use it for this quantum only) istead of
@@ -261,7 +261,8 @@ static void acpi_processor_idle(void)
* qualification. This may, however, introduce DMA
* issues (e.g. floppy DMA transfer overrun/underrun).
*/
- if (pr->power.bm_activity & cx->demotion.threshold.bm) {
+ if ((pr->power.bm_activity & 0x1) &&
+ cx->demotion.threshold.bm) {
local_irq_enable();
next_state = cx->demotion.state;
goto end;
next prev parent reply other threads:[~2005-12-31 11:13 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-28 6:18 [PATCH] i386 No Idle HZ aka dynticks 051228 Con Kolivas
2005-12-31 11:09 ` [PATCH 0/4] ACPI C-States policy update [Was: [PATCH] i386 No Idle HZ aka dynticks 051228] Dominik Brodowski
2005-12-31 11:11 ` [PATCH 1/4] ACPI C-States: bm_activity improvements Dominik Brodowski
2005-12-31 11:11 ` Dominik Brodowski [this message]
2005-12-31 11:12 ` [PATCH 3/4] ACPI C-States: accounting of sleep times Dominik Brodowski
2005-12-31 11:12 ` [PATCH 4/4] ACPI C-States: dyn-ticks tweaks Dominik Brodowski
2006-01-01 12:13 ` [PATCH 0/4] ACPI C-States policy update [Was: [PATCH] i386 No Idle HZ aka dynticks 051228] Con Kolivas
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=20051231111150.GC9123@dominikbrodowski.de \
--to=linux@dominikbrodowski.net \
--cc=abelay@novell.com \
--cc=ck@vds.kolivas.org \
--cc=d.pensator@gmail.com \
--cc=kernel@kolivas.org \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=tony@atomide.com \
--cc=tytso@mit.edu \
--cc=vatsa@in.ibm.com \
--cc=zwane@arm.linux.org.uk \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox