linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mike Galbraith <efault@gmx.de>
To: Frans Pop <elendil@planet.nl>
Cc: Arjan van de Ven <arjan@infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@elte.hu>,
	Peter Zijlstra <peterz@infradead.org>,
	linux-wireless@vger.kernel.org
Subject: Re: [.32-rc3] scheduler: iwlagn consistently high in "waiting for CPU"
Date: Thu, 08 Oct 2009 20:23:37 +0200	[thread overview]
Message-ID: <1255026217.6643.12.camel@marge.simson.net> (raw)
In-Reply-To: <200910081655.37485.elendil@planet.nl>

On Thu, 2009-10-08 at 16:55 +0200, Frans Pop wrote:
> On Thursday 08 October 2009, Arjan van de Ven wrote:
> > From: Arjan van de Ven <arjan@linux.intel.com>
> > Date: Thu, 24 Sep 2009 13:24:16 +0200
> > Subject: [PATCH] x86, timers: check for pending timers after (device)
> > interrupts
> >
> > Now that range timers and deferred timers are common, I found a
> > problem with these using the "perf timechart" tool.
> >
> > It turns out that on x86, these two 'opportunistic' timers only
> > get checked when another "real" timer happens.
> > These opportunistic timers have the objective to save power by
> > hitchhiking on other wakeups, as to avoid CPU wakeups by themselves
> > as much as possible.
> 
> This patch makes quite a difference for me. iwlagn and phy0 now 
> consistently show at ~10 ms or lower.
> 
> I do still get occasional high latencies, but those are for things like
> "[rpc_wait_bit_killable]" or "Writing a page to disk", where I guess you'd 
> expect them. Those high latencies are mostly only listed for "Global" and 
> don't translate to individual processes.

I still see very high latencies coming out of idle (last noted was >
300ms, NO_HZ) with this patch, and wonder if the hunk below makes any
difference whatsoever for you.  Here, it definitely does. (shouldn't)

Index: linux-2.6/kernel/sched_fair.c
===================================================================
--- linux-2.6.orig/kernel/sched_fair.c
+++ linux-2.6/kernel/sched_fair.c
@@ -495,8 +495,10 @@ static void update_curr(struct cfs_rq *c
 	u64 now = rq_of(cfs_rq)->clock;
 	unsigned long delta_exec;
 
-	if (unlikely(!curr))
+	if (unlikely(!curr)) {
+		update_rq_clock(rq_of(cfs_rq));
 		return;
+	}
 
 	/*
 	 * Get the amount of time the current task was running



  parent reply	other threads:[~2009-10-08 18:24 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-05 13:00 [.32-rc3] scheduler: iwlagn consistently high in "waiting for CPU" Frans Pop
2009-10-05 14:13 ` Frans Pop
2009-10-05 14:24   ` Arjan van de Ven
2009-10-06 15:49     ` Frans Pop
2009-10-07 17:10       ` Frans Pop
2009-10-07 18:10         ` Mike Galbraith
2009-10-07 18:34         ` Frans Pop
2009-10-08  4:05           ` Mike Galbraith
2009-10-08  6:23             ` Mike Galbraith
2009-10-08 13:40             ` Arjan van de Ven
2009-10-08 14:13               ` Mike Galbraith
2009-10-08 14:54                 ` Mike Galbraith
2009-10-08 14:55               ` Frans Pop
2009-10-08 15:09                 ` Arjan van de Ven
2009-10-08 18:23                 ` Mike Galbraith [this message]
2009-10-08 20:34                   ` Markus Trippelsdorf
2009-10-09  3:35                     ` Mike Galbraith
2009-10-09  3:51                       ` Markus Trippelsdorf
2009-10-08 20:59                   ` Frans Pop
2009-10-09  3:04                     ` Mike Galbraith
2009-10-09  6:35                     ` Mike Galbraith
2009-10-09  7:13                       ` Peter Zijlstra
2009-10-09  7:55                       ` Sedat Dilek
2009-10-09  8:06                         ` Peter Zijlstra
2009-10-09 16:27                       ` Frans Pop
2009-10-09 20:06                         ` Mike Galbraith
2009-10-08 11:24           ` Mike Galbraith
2009-10-08 13:09             ` Frans Pop
2009-10-08 13:18               ` Mike Galbraith
2009-10-08 13:45             ` Arjan van de Ven
2009-10-08 14:15               ` Mike Galbraith

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=1255026217.6643.12.camel@marge.simson.net \
    --to=efault@gmx.de \
    --cc=arjan@infradead.org \
    --cc=elendil@planet.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).