lkml.org 
[lkml]   [2008]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Linux 2.6.28-rc4] BUG: using smp_processor_id() in preemptible [00000000] code: suspend_to_disk/2934


On Wed, 12 Nov 2008, Maciej Rutecki wrote:

> -rc3 works OK
>
> I have this bug during suspend to disk:
>
> [ 188.592151] Enabling non-boot CPUs ...
> [ 188.592151] SMP alternatives: switching to SMP code
> [ 188.666058] BUG: using smp_processor_id() in preemptible [00000000]
> code: suspend_to_disk/2934
> [ 188.666064] caller is native_sched_clock+0x2b/0x80

The cause seems to be commit 7cbaef9c83e58bbd4bdd534b09052b6c5ec457d5,
"sched: optimize sched_clock() a bit" by Ingo.

Which actually comments on the fact that a few callers may need to be
updated. That wasn't good. Ingo - it's not acceptable for a latish-rc
patch to introduce _known_ bugs and not fixing everything up.

Of course, since Maciej has frame pointers disabled, the stack trace isn't
entirely reliable, but it looks like the problem is "init_idle()".

That thing needs to call sched_clock() with interrupts disabled. Looking
at it, I'd also expect that it should have used "sched_clock_cpu()", but
I'm leaving that to Ingo to sort out. Ingo?

Linus


\
 
 \ /
  Last update: 2008-11-12 19:59    [W:0.063 / U:0.964 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site