Re: BUG: using smp_processor_id() in preemptible code: s2disk

Sergey Senozhatsky
2010-06-14T14:09:41Z

Hello,
Not sure if this simple solution is the correct one.

---

diff --git a/kernel/sched.c b/kernel/sched.c
index f8b8996..cfb262b 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -2866,7 +2866,10 @@ unsigned long nr_iowait(void)

unsigned long nr_iowait_cpu(void)
{
- struct rq *this = this_rq();
+ int cpu = get_cpu();
+ struct rq *this = cpu_rq(cpu);
+ put_cpu();
+
return atomic_read(&this->nr_iowait);
}