All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rik van Riel <riel@redhat.com>
To: mingo@redhat.com, hpa@zytor.com, linux-kernel@vger.kernel.org,
	tero.kristo@nokia.com, ext-eero.nurkkala@nokia.com,
	venkatesh.pallipadi@intel.com, tglx@linutronix.de
Subject: Re: [tip:timers/urgent] NOHZ: Properly feed cpufreq ondemand governor
Date: Wed, 27 May 2009 09:23:56 -0400	[thread overview]
Message-ID: <4A1D3EEC.3050106@redhat.com> (raw)
In-Reply-To: <tip-cf1240033cc81216a18eec0ca71466f7fe4eeda8@git.kernel.org>

tip-bot for Eero Nurkkala wrote:
> Commit-ID:  cf1240033cc81216a18eec0ca71466f7fe4eeda8
> Gitweb:     http://git.kernel.org/tip/cf1240033cc81216a18eec0ca71466f7fe4eeda8
> Author:     Eero Nurkkala <ext-eero.nurkkala@nokia.com>
> AuthorDate: Mon, 25 May 2009 09:57:37 +0300
> Committer:  Thomas Gleixner <tglx@linutronix.de>
> CommitDate: Wed, 27 May 2009 14:51:47 +0200
> 
> NOHZ: Properly feed cpufreq ondemand governor
> 
> A call from irq_exit() may occasionally pause the timing
> info for cpufreq ondemand governor. This results in the
> cpufreq ondemand governor to fail to calculate the
> system load properly. Thus, relocate the checks for this
> particular case to keep the governor always functional.
> 
> Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com>
> Reported-by: Tero Kristo <tero.kristo@nokia.com>
> Acked-by: Rik van Riel <riel@redhat.com>
> Acked-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
> LKML-Reference: <12432346571351-git-send-email-ext-eero.nurkkala@nokia.com>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> 
> 
> ---
>  kernel/time/tick-sched.c |   12 +++++++++---
>  1 files changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
> index d3f1ef4..233b4e7 100644
> --- a/kernel/time/tick-sched.c
> +++ b/kernel/time/tick-sched.c
> @@ -222,6 +222,15 @@ void tick_nohz_stop_sched_tick(int inidle)
>  
>  	cpu = smp_processor_id();
>  	ts = &per_cpu(tick_cpu_sched, cpu);
> +
> +	/*
> +	 * Call to tick_nohz_start_idle stops the last_update_time from being
> +	 * updated. Thus, it must not be called in the event we are called from
> +	 * irq_exit() with the prior state different than idle.
> +	 */
> +	if (!inidle && !ts->inidle)
> +		return;

Calling return without restoring the
local_irq_save(flags) right above the
line where you get the CPU number seems
like a bad idea.

-- 
All rights reversed.

  reply	other threads:[~2009-05-27 13:24 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-25  6:57 [PATCH] NOHZ: Properly feed cpufreq ondemand governor ext-eero.nurkkala
2009-05-26 15:17 ` Rik van Riel
2009-05-26 17:47   ` Pallipadi, Venkatesh
2009-05-27 11:57 ` [tip:timers/urgent] " tip-bot for Eero Nurkkala
2009-05-27 12:18   ` Eero Nurkkala
2009-05-27 12:49     ` Thomas Gleixner
2009-05-27 12:54 ` tip-bot for Eero Nurkkala
2009-05-27 13:23   ` Rik van Riel [this message]
2009-05-27 13:33     ` Thomas Gleixner

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=4A1D3EEC.3050106@redhat.com \
    --to=riel@redhat.com \
    --cc=ext-eero.nurkkala@nokia.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tero.kristo@nokia.com \
    --cc=tglx@linutronix.de \
    --cc=venkatesh.pallipadi@intel.com \
    /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.