mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Arjan van de Ven <arjan@infradead.org>
To: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
	Maxim Levitsky <maximlevitsky@gmail.com>,
	Len Brown <len.brown@intel.com>, Pavel Machek <pavel@ucw.cz>,
	Jiri Slaby <jslaby@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-pm@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] avoid using smp_processor_id() in preemptible code (nr_iowait_cpu)
Date: Tue, 15 Jun 2010 07:24:35 -0700	[thread overview]
Message-ID: <20100615072435.5a47d850@infradead.org> (raw)
In-Reply-To: <20100615061927.GA3312@swordfish>

On Tue, 15 Jun 2010 09:19:27 +0300
Sergey Senozhatsky <sergey.senozhatsky@gmail.com> wrote:
> diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
> index 1d7b9bc..101e8aa 100644
> --- a/kernel/time/tick-sched.c
> +++ b/kernel/time/tick-sched.c
> @@ -159,10 +159,12 @@ update_ts_time_stats(struct tick_sched *ts,
> ktime_t now, u64 *last_update_time) ktime_t delta;
>  
>  	if (ts->idle_active) {
> +		int cpu = get_cpu();
>  		delta = ktime_sub(now, ts->idle_entrytime);
>  		ts->idle_sleeptime = ktime_add(ts->idle_sleeptime,
> delta);
> -		if (nr_iowait_cpu() > 0)
> +		if (nr_iowait_cpu(cpu) > 0)
>  			ts->iowait_sleeptime =
> ktime_add(ts->iowait_sleeptime, delta);
> +		put_cpu();
>  		ts->idle_entrytime = now;
>  	}


hmm this part is wrong
you pick the current cpu, rather than the one denoted by ts.....

they will normally be the same, except for the case where you get your
warning...
(and this is also why you can't move the get_cpu() inside
nr_iowait_cpu() ... )

>  


-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

  reply	other threads:[~2010-06-15 14:22 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-13 20:33 BUG: using smp_processor_id() in preemptible code: s2disk Sergey Senozhatsky
2010-06-13 20:33 ` Maxim Levitsky
2010-06-13 23:36   ` Rafael J. Wysocki
2010-06-14 14:09     ` Sergey Senozhatsky
2010-06-14 14:23       ` Rafael J. Wysocki
2010-06-14 14:38       ` Arjan van de Ven
2010-06-14 14:54         ` Sergey Senozhatsky
2010-06-14 15:01           ` Arjan van de Ven
2010-06-14 15:17             ` Sergey Senozhatsky
2010-06-15  3:40               ` Arjan van de Ven
2010-06-15  6:19                 ` [PATCH] avoid using smp_processor_id() in preemptible code (nr_iowait_cpu) Sergey Senozhatsky
2010-06-15 14:24                   ` Arjan van de Ven [this message]
2010-06-15 14:50                     ` Sergey Senozhatsky
2010-06-15 15:08                       ` Arjan van de Ven
2010-06-15 15:23                         ` Sergey Senozhatsky
2010-06-15 15:31                           ` Sergey Senozhatsky
2010-06-15 16:13                         ` Sergey Senozhatsky
2010-06-16  6:05                           ` Arjan van de Ven
2010-06-16  9:34                             ` Sergey Senozhatsky
2010-06-17  6:29                         ` [PATCH] cpuidle: avoid using smp_processor_id() in preemptible code (nr_iowait_cpu) v4 Sergey Senozhatsky
2010-06-17  6:43                           ` Arjan van de Ven
2010-06-17  6:59                           ` Andrew Morton
2010-06-17  7:04                             ` Andrew Morton
2010-06-17  7:34                             ` Sergey Senozhatsky
2010-06-25 14:39                           ` Peter Zijlstra
2010-06-30 19:58                             ` Andrew Morton
2010-07-01  6:17                               ` Sergey Senozhatsky
2010-07-01  7:07                               ` [PATCH] sched: Cure nr_iowait_cpu() users Peter Zijlstra
2010-07-01  8:18                                 ` Sergey Senozhatsky
2010-07-01  8:45                                 ` [tip:sched/urgent] " tip-bot for Peter Zijlstra

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=20100615072435.5a47d850@infradead.org \
    --to=arjan@infradead.org \
    --cc=akpm@linux-foundation.org \
    --cc=jslaby@suse.cz \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=maximlevitsky@gmail.com \
    --cc=pavel@ucw.cz \
    --cc=rjw@sisk.pl \
    --cc=sergey.senozhatsky@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome