Re: [BUG] using smp_processor_id() in preemptible as suspending

From: Andrew Morton
Date: Tue Feb 26 2008 - 11:35:07 EST


On Tue, 26 Feb 2008 16:24:11 +0800 Dave Young <hidave.darkstar@xxxxxxxxx> wrote:

> I don't know whom I should mail to, could you cc the proper guy? Thanks.
>
> [ 118.331674] acpi LNXSYSTM:00: suspend
> [ 118.331674] Disabling non-boot CPUs ...
> [ 118.331674] CPU0 attaching NULL sched-domain.
> [ 118.331674] CPU1 attaching NULL sched-domain.
> [ 118.438750] CPU 1 is now offline
> [ 118.438750] lockdep: fixing up alternatives.
> [ 118.438750] SMP alternatives: switching to UP code
> [ 118.438750] BUG: using smp_processor_id() in preemptible [00000000] code: s2ram/2818
> [ 118.438750] caller is rcu_offline_cpu+0x15a/0x1c0
> [ 118.438750] Pid: 2818, comm: s2ram Not tainted 2.6.25-rc3-test #2
> [ 118.438750] [<c0129738>] ? printk+0x18/0x20
> [ 118.438750] [<c025c551>] debug_smp_processor_id+0xb1/0xc0
> [ 118.438750] [<c0161f8a>] rcu_offline_cpu+0x15a/0x1c0
> [ 118.438750] [<c03d408f>] rcu_cpu_notify+0x3f/0x60
> [ 118.438750] [<c0141b0d>] notifier_call_chain+0x3d/0x80
> [ 118.438750] [<c0141db9>] __raw_notifier_call_chain+0x19/0x20
> [ 118.438750] [<c0141dda>] raw_notifier_call_chain+0x1a/0x20
> [ 118.438750] [<c015262b>] _cpu_down+0x13b/0x230
> [ 118.438750] [<c01527c9>] disable_nonboot_cpus+0x49/0xd0
> [ 118.438750] [<c0157492>] suspend_devices_and_enter+0x72/0x130
> [ 118.438750] [<c0129738>] ? printk+0x18/0x20
> [ 118.438750] [<c0157623>] enter_state+0xb3/0xe0
> [ 118.438750] [<c015777d>] state_store+0x7d/0xc0
> [ 118.438750] [<c0157700>] ? state_store+0x0/0xc0
> [ 118.438750] [<c0249e4e>] kobj_attr_store+0x2e/0x40
> [ 118.438750] [<c01ca957>] flush_write_buffer+0x47/0x70
> [ 118.438750] [<c01ca9c9>] sysfs_write_file+0x49/0x70
> [ 118.438750] [<c0188d41>] vfs_write+0x91/0x140
> [ 118.438750] [<c0188e9d>] sys_write+0x3d/0x70
> [ 118.438750] [<c0104fca>] syscall_call+0x7/0xb
> [ 118.438750] =======================
> [ 118.438750] CPU0 attaching NULL sched-domain.
> [ 118.440335] CPU1 is down

Paul & Ingo I guess

> My .config

Doesn't tell us whether you'r eusing CONFIG_CLASSIC_RCU or
CONFIG_PREEMPT_RCU. I assume CONFIG_CLASSIC_RCU, if you ran `make
oldconfig'.

Which kernel are you running here?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/