* [PATCH 1/2] ACPI: intel-idle: Don't register CPU notifier if we are not running. [not found] <1358288604-24620-1-git-send-email-konrad.wilk@oracle.com> @ 2013-01-15 22:23 ` Konrad Rzeszutek Wilk 2013-01-15 22:33 ` Rafael J. Wysocki 2013-01-16 8:10 ` Srivatsa S. Bhat 0 siblings, 2 replies; 4+ messages in thread From: Konrad Rzeszutek Wilk @ 2013-01-15 22:23 UTC (permalink / raw) To: rjw, linux-kernel, linux-acpi Cc: konrad, xen-devel, Konrad Rzeszutek Wilk, stable, konrad.wilk, konrad.wilk, konrad.wilk, konrad.wilk, konrad.wilk, Daniel Lezcano, Srivatsa S. Bhat The 'intel_idle_probe' probes the CPU and sets the CPU notifier. But if later on during the module initialization we fail (say in cpuidle_register_driver) we stop loading but we neglected to unregister the CPU notifier. This means that during CPU hotplug events the system will fail: calling intel_idle_init+0x0/0x326 @ 1 intel_idle: MWAIT substates: 0x1120 intel_idle: v0.4 model 0x2A intel_idle: lapic_timer_reliable_states 0xffffffff intel_idle: intel_idle yielding to none initcall intel_idle_init+0x0/0x326 returned -19 after 14 usecs ... some time later, offlining and onlining a CPU: cpu 3 spinlock event irq 62 BUG: unable to ] __cpuidle_register_device+0x1c/0x120 PGD 99b8b067 PUD 99b95067 PMD 0 Oops: 0000 [#1] SMP Modules linked in: xen_evtchn nouveau mxm_wmi wmi radeon ttm i915 fbcon tileblit font atl1c bitblit softcursor drm_kms_helper video xen_blkfront xen_netfront fb_sys_fops sysimgblt sysfillrect syscopyarea xenfs xen_privcmd mperf CPU 0 Pid: 2302, comm: udevd Not tainted 3.8.0-rc3upstream-00249-g09ad159 #1 MSI MS-7680/H61M-P23 (MS-7680) RIP: e030:[<ffffffff814d956c>] [<ffffffff814d956c>] __cpuidle_register_device+0x1c/0x120 RSP: e02b:ffff88009dacfcb8 EFLAGS: 00010286 RAX: 0000000000000000 RBX: ffff880105380000 RCX: 000000000000001c RDX: 0000000000000000 RSI: 0000000000000055 RDI: ffff880105380000 RBP: ffff88009dacfce8 R08: ffffffff81a4f048 R09: 0000000000000008 R10: 0000000000000008 R11: 0000000000000000 R12: ffff880105380000 R13: 00000000ffffffdd R14: 0000000000000000 R15: ffffffff81a523d0 FS: 00007f37bd83b7a0(0000) GS:ffff880105200000(0000) knlGS:0000000000000000 CS: e033 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000008 CR3: 00000000a09ea000 CR4: 0000000000042660 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process udevd (pid: 2302, threadinfo ffff88009dace000, task ffff88009afb47f0) Stack: ffffffff8107f2d0 ffffffff810c2fb7 ffff88009dacfce8 00000000ffffffea ffff880105380000 00000000ffffffdd ffff88009dacfd08 ffffffff814d9882 0000000000000003 ffff880105380000 ffff88009dacfd28 ffffffff81340afd Call Trace: [<ffffffff8107f2d0>] ? collect_cpu_info_local+0x30/0x30 [<ffffffff810c2fb7>] ? __might_sleep+0xe7/0x100 [<ffffffff814d9882>] cpuidle_register_device+0x32/0x70 [<ffffffff81340afd>] intel_idle_cpu_init+0xad/0x110 [<ffffffff81340bc8>] cpu_hotplug_notify+0x68/0x80 [<ffffffff8166023d>] notifier_call_chain+0x4d/0x70 [<ffffffff810bc369>] __raw_notifier_call_chain+0x9/0x10 [<ffffffff81094a4b>] __cpu_notify+0x1b/0x30 [<ffffffff81652cf7>] _cpu_up+0x103/0x14b [<ffffffff81652e18>] cpu_up+0xd9/0xec [<ffffffff8164a254>] store_online+0x94/0xd0 [<ffffffff814122fb>] dev_attr_store+0x1b/0x20 [<ffffffff81216404>] sysfs_write_file+0xf4/0x170 [<ffffffff811a1024>] vfs_write+0xb4/0x130 [<ffffffff811a17ea>] sys_write+0x5a/0xa0 [<ffffffff816643a9>] system_call_fastpath+0x16/0x1b Code: 03 18 00 c9 c3 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 48 83 ec 30 48 89 5d e8 4c 89 65 f0 48 89 fb 4c 89 6d f8 e8 84 08 00 00 <48> 8b 78 08 49 89 c4 e8 f8 7f c1 ff 89 c2 b8 ea ff ff ff 84 d2 RIP [<ffffffff814d956c>] __cpuidle_register_device+0x1c/0x120 RSP <ffff88009dacfcb8> This patch fixes it by moving the CPU notifier registration as the last item to be done by the module. Cc: stable@vger.kernel.org # for 3.6 and above Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> Cc: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> --- drivers/idle/intel_idle.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c index 4ba384f..2df9414 100644 --- a/drivers/idle/intel_idle.c +++ b/drivers/idle/intel_idle.c @@ -448,8 +448,6 @@ static int intel_idle_probe(void) else on_each_cpu(__setup_broadcast_timer, (void *)true, 1); - register_cpu_notifier(&cpu_hotplug_notifier); - pr_debug(PREFIX "v" INTEL_IDLE_VERSION " model 0x%X\n", boot_cpu_data.x86_model); @@ -612,6 +610,7 @@ static int __init intel_idle_init(void) return retval; } } + register_cpu_notifier(&cpu_hotplug_notifier); return 0; } -- 1.8.0.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] ACPI: intel-idle: Don't register CPU notifier if we are not running. 2013-01-15 22:23 ` [PATCH 1/2] ACPI: intel-idle: Don't register CPU notifier if we are not running Konrad Rzeszutek Wilk @ 2013-01-15 22:33 ` Rafael J. Wysocki 2013-01-15 22:30 ` Konrad Rzeszutek Wilk 2013-01-16 8:10 ` Srivatsa S. Bhat 1 sibling, 1 reply; 4+ messages in thread From: Rafael J. Wysocki @ 2013-01-15 22:33 UTC (permalink / raw) To: Konrad Rzeszutek Wilk Cc: linux-kernel, linux-acpi, konrad, xen-devel, stable, Daniel Lezcano, Srivatsa S. Bhat, Len Brown, Len Brown On Tuesday, January 15, 2013 05:23:23 PM Konrad Rzeszutek Wilk wrote: > The 'intel_idle_probe' probes the CPU and sets the CPU notifier. > But if later on during the module initialization we fail (say > in cpuidle_register_driver) we stop loading but we neglected > to unregister the CPU notifier. This means that during CPU > hotplug events the system will fail: This really is for Len, but it appears to be obviously correct, so I'll take it as a v3.8 fix if Len doesn't object. I suppose we need that in -stable too? Rafael > calling intel_idle_init+0x0/0x326 @ 1 > intel_idle: MWAIT substates: 0x1120 > intel_idle: v0.4 model 0x2A > intel_idle: lapic_timer_reliable_states 0xffffffff > intel_idle: intel_idle yielding to none > initcall intel_idle_init+0x0/0x326 returned -19 after 14 usecs > > ... some time later, offlining and onlining a CPU: > > cpu 3 spinlock event irq 62 > BUG: unable to ] __cpuidle_register_device+0x1c/0x120 > PGD 99b8b067 PUD 99b95067 PMD 0 > Oops: 0000 [#1] SMP > Modules linked in: xen_evtchn nouveau mxm_wmi wmi radeon ttm i915 fbcon tileblit font atl1c bitblit softcursor drm_kms_helper video xen_blkfront xen_netfront fb_sys_fops sysimgblt sysfillrect syscopyarea xenfs xen_privcmd mperf > CPU 0 > Pid: 2302, comm: udevd Not tainted 3.8.0-rc3upstream-00249-g09ad159 #1 MSI MS-7680/H61M-P23 (MS-7680) > RIP: e030:[<ffffffff814d956c>] [<ffffffff814d956c>] __cpuidle_register_device+0x1c/0x120 > RSP: e02b:ffff88009dacfcb8 EFLAGS: 00010286 > RAX: 0000000000000000 RBX: ffff880105380000 RCX: 000000000000001c > RDX: 0000000000000000 RSI: 0000000000000055 RDI: ffff880105380000 > RBP: ffff88009dacfce8 R08: ffffffff81a4f048 R09: 0000000000000008 > R10: 0000000000000008 R11: 0000000000000000 R12: ffff880105380000 > R13: 00000000ffffffdd R14: 0000000000000000 R15: ffffffff81a523d0 > FS: 00007f37bd83b7a0(0000) GS:ffff880105200000(0000) knlGS:0000000000000000 > CS: e033 DS: 0000 ES: 0000 CR0: 0000000080050033 > CR2: 0000000000000008 CR3: 00000000a09ea000 CR4: 0000000000042660 > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 > Process udevd (pid: 2302, threadinfo ffff88009dace000, task ffff88009afb47f0) > Stack: > ffffffff8107f2d0 ffffffff810c2fb7 ffff88009dacfce8 00000000ffffffea > ffff880105380000 00000000ffffffdd ffff88009dacfd08 ffffffff814d9882 > 0000000000000003 ffff880105380000 ffff88009dacfd28 ffffffff81340afd > Call Trace: > [<ffffffff8107f2d0>] ? collect_cpu_info_local+0x30/0x30 > [<ffffffff810c2fb7>] ? __might_sleep+0xe7/0x100 > [<ffffffff814d9882>] cpuidle_register_device+0x32/0x70 > [<ffffffff81340afd>] intel_idle_cpu_init+0xad/0x110 > [<ffffffff81340bc8>] cpu_hotplug_notify+0x68/0x80 > [<ffffffff8166023d>] notifier_call_chain+0x4d/0x70 > [<ffffffff810bc369>] __raw_notifier_call_chain+0x9/0x10 > [<ffffffff81094a4b>] __cpu_notify+0x1b/0x30 > [<ffffffff81652cf7>] _cpu_up+0x103/0x14b > [<ffffffff81652e18>] cpu_up+0xd9/0xec > [<ffffffff8164a254>] store_online+0x94/0xd0 > [<ffffffff814122fb>] dev_attr_store+0x1b/0x20 > [<ffffffff81216404>] sysfs_write_file+0xf4/0x170 > [<ffffffff811a1024>] vfs_write+0xb4/0x130 > [<ffffffff811a17ea>] sys_write+0x5a/0xa0 > [<ffffffff816643a9>] system_call_fastpath+0x16/0x1b > Code: 03 18 00 c9 c3 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 48 83 ec 30 48 89 5d e8 4c 89 65 f0 48 89 fb 4c 89 6d f8 e8 84 08 00 00 <48> 8b 78 08 49 89 c4 e8 f8 7f c1 ff 89 c2 b8 ea ff ff ff 84 d2 > RIP [<ffffffff814d956c>] __cpuidle_register_device+0x1c/0x120 > RSP <ffff88009dacfcb8> > > This patch fixes it by moving the CPU notifier registration > as the last item to be done by the module. > > Cc: stable@vger.kernel.org # for 3.6 and above > Cc: Daniel Lezcano <daniel.lezcano@linaro.org> > Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> > Cc: Rafael J. Wysocki <rjw@sisk.pl> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > --- > drivers/idle/intel_idle.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c > index 4ba384f..2df9414 100644 > --- a/drivers/idle/intel_idle.c > +++ b/drivers/idle/intel_idle.c > @@ -448,8 +448,6 @@ static int intel_idle_probe(void) > else > on_each_cpu(__setup_broadcast_timer, (void *)true, 1); > > - register_cpu_notifier(&cpu_hotplug_notifier); > - > pr_debug(PREFIX "v" INTEL_IDLE_VERSION > " model 0x%X\n", boot_cpu_data.x86_model); > > @@ -612,6 +610,7 @@ static int __init intel_idle_init(void) > return retval; > } > } > + register_cpu_notifier(&cpu_hotplug_notifier); > > return 0; > } > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] ACPI: intel-idle: Don't register CPU notifier if we are not running. 2013-01-15 22:33 ` Rafael J. Wysocki @ 2013-01-15 22:30 ` Konrad Rzeszutek Wilk 0 siblings, 0 replies; 4+ messages in thread From: Konrad Rzeszutek Wilk @ 2013-01-15 22:30 UTC (permalink / raw) To: Rafael J. Wysocki Cc: linux-kernel, linux-acpi, konrad, xen-devel, stable, Daniel Lezcano, Srivatsa S. Bhat, Len Brown, Len Brown On Tue, Jan 15, 2013 at 11:33:28PM +0100, Rafael J. Wysocki wrote: > On Tuesday, January 15, 2013 05:23:23 PM Konrad Rzeszutek Wilk wrote: > > The 'intel_idle_probe' probes the CPU and sets the CPU notifier. > > But if later on during the module initialization we fail (say > > in cpuidle_register_driver) we stop loading but we neglected > > to unregister the CPU notifier. This means that during CPU > > hotplug events the system will fail: > > This really is for Len, but it appears to be obviously correct, so I'll > take it as a v3.8 fix if Len doesn't object. > > I suppose we need that in -stable too? Yes please. 3.6 and onwards. Thank you! > > Rafael > > > > calling intel_idle_init+0x0/0x326 @ 1 > > intel_idle: MWAIT substates: 0x1120 > > intel_idle: v0.4 model 0x2A > > intel_idle: lapic_timer_reliable_states 0xffffffff > > intel_idle: intel_idle yielding to none > > initcall intel_idle_init+0x0/0x326 returned -19 after 14 usecs > > > > ... some time later, offlining and onlining a CPU: > > > > cpu 3 spinlock event irq 62 > > BUG: unable to ] __cpuidle_register_device+0x1c/0x120 > > PGD 99b8b067 PUD 99b95067 PMD 0 > > Oops: 0000 [#1] SMP > > Modules linked in: xen_evtchn nouveau mxm_wmi wmi radeon ttm i915 fbcon tileblit font atl1c bitblit softcursor drm_kms_helper video xen_blkfront xen_netfront fb_sys_fops sysimgblt sysfillrect syscopyarea xenfs xen_privcmd mperf > > CPU 0 > > Pid: 2302, comm: udevd Not tainted 3.8.0-rc3upstream-00249-g09ad159 #1 MSI MS-7680/H61M-P23 (MS-7680) > > RIP: e030:[<ffffffff814d956c>] [<ffffffff814d956c>] __cpuidle_register_device+0x1c/0x120 > > RSP: e02b:ffff88009dacfcb8 EFLAGS: 00010286 > > RAX: 0000000000000000 RBX: ffff880105380000 RCX: 000000000000001c > > RDX: 0000000000000000 RSI: 0000000000000055 RDI: ffff880105380000 > > RBP: ffff88009dacfce8 R08: ffffffff81a4f048 R09: 0000000000000008 > > R10: 0000000000000008 R11: 0000000000000000 R12: ffff880105380000 > > R13: 00000000ffffffdd R14: 0000000000000000 R15: ffffffff81a523d0 > > FS: 00007f37bd83b7a0(0000) GS:ffff880105200000(0000) knlGS:0000000000000000 > > CS: e033 DS: 0000 ES: 0000 CR0: 0000000080050033 > > CR2: 0000000000000008 CR3: 00000000a09ea000 CR4: 0000000000042660 > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 > > Process udevd (pid: 2302, threadinfo ffff88009dace000, task ffff88009afb47f0) > > Stack: > > ffffffff8107f2d0 ffffffff810c2fb7 ffff88009dacfce8 00000000ffffffea > > ffff880105380000 00000000ffffffdd ffff88009dacfd08 ffffffff814d9882 > > 0000000000000003 ffff880105380000 ffff88009dacfd28 ffffffff81340afd > > Call Trace: > > [<ffffffff8107f2d0>] ? collect_cpu_info_local+0x30/0x30 > > [<ffffffff810c2fb7>] ? __might_sleep+0xe7/0x100 > > [<ffffffff814d9882>] cpuidle_register_device+0x32/0x70 > > [<ffffffff81340afd>] intel_idle_cpu_init+0xad/0x110 > > [<ffffffff81340bc8>] cpu_hotplug_notify+0x68/0x80 > > [<ffffffff8166023d>] notifier_call_chain+0x4d/0x70 > > [<ffffffff810bc369>] __raw_notifier_call_chain+0x9/0x10 > > [<ffffffff81094a4b>] __cpu_notify+0x1b/0x30 > > [<ffffffff81652cf7>] _cpu_up+0x103/0x14b > > [<ffffffff81652e18>] cpu_up+0xd9/0xec > > [<ffffffff8164a254>] store_online+0x94/0xd0 > > [<ffffffff814122fb>] dev_attr_store+0x1b/0x20 > > [<ffffffff81216404>] sysfs_write_file+0xf4/0x170 > > [<ffffffff811a1024>] vfs_write+0xb4/0x130 > > [<ffffffff811a17ea>] sys_write+0x5a/0xa0 > > [<ffffffff816643a9>] system_call_fastpath+0x16/0x1b > > Code: 03 18 00 c9 c3 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 48 83 ec 30 48 89 5d e8 4c 89 65 f0 48 89 fb 4c 89 6d f8 e8 84 08 00 00 <48> 8b 78 08 49 89 c4 e8 f8 7f c1 ff 89 c2 b8 ea ff ff ff 84 d2 > > RIP [<ffffffff814d956c>] __cpuidle_register_device+0x1c/0x120 > > RSP <ffff88009dacfcb8> > > > > This patch fixes it by moving the CPU notifier registration > > as the last item to be done by the module. > > > > Cc: stable@vger.kernel.org # for 3.6 and above > > Cc: Daniel Lezcano <daniel.lezcano@linaro.org> > > Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> > > Cc: Rafael J. Wysocki <rjw@sisk.pl> > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > > --- > > drivers/idle/intel_idle.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c > > index 4ba384f..2df9414 100644 > > --- a/drivers/idle/intel_idle.c > > +++ b/drivers/idle/intel_idle.c > > @@ -448,8 +448,6 @@ static int intel_idle_probe(void) > > else > > on_each_cpu(__setup_broadcast_timer, (void *)true, 1); > > > > - register_cpu_notifier(&cpu_hotplug_notifier); > > - > > pr_debug(PREFIX "v" INTEL_IDLE_VERSION > > " model 0x%X\n", boot_cpu_data.x86_model); > > > > @@ -612,6 +610,7 @@ static int __init intel_idle_init(void) > > return retval; > > } > > } > > + register_cpu_notifier(&cpu_hotplug_notifier); > > > > return 0; > > } > > > -- > I speak only for myself. > Rafael J. Wysocki, Intel Open Source Technology Center. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] ACPI: intel-idle: Don't register CPU notifier if we are not running. 2013-01-15 22:23 ` [PATCH 1/2] ACPI: intel-idle: Don't register CPU notifier if we are not running Konrad Rzeszutek Wilk 2013-01-15 22:33 ` Rafael J. Wysocki @ 2013-01-16 8:10 ` Srivatsa S. Bhat 1 sibling, 0 replies; 4+ messages in thread From: Srivatsa S. Bhat @ 2013-01-16 8:10 UTC (permalink / raw) To: Konrad Rzeszutek Wilk Cc: rjw, linux-kernel, linux-acpi, konrad, xen-devel, stable, Daniel Lezcano On 01/16/2013 03:53 AM, Konrad Rzeszutek Wilk wrote: > The 'intel_idle_probe' probes the CPU and sets the CPU notifier. > But if later on during the module initialization we fail (say > in cpuidle_register_driver) we stop loading but we neglected > to unregister the CPU notifier. This means that during CPU > hotplug events the system will fail: > > calling intel_idle_init+0x0/0x326 @ 1 > intel_idle: MWAIT substates: 0x1120 > intel_idle: v0.4 model 0x2A > intel_idle: lapic_timer_reliable_states 0xffffffff > intel_idle: intel_idle yielding to none > initcall intel_idle_init+0x0/0x326 returned -19 after 14 usecs > > ... some time later, offlining and onlining a CPU: > > cpu 3 spinlock event irq 62 > BUG: unable to ] __cpuidle_register_device+0x1c/0x120 > PGD 99b8b067 PUD 99b95067 PMD 0 > Oops: 0000 [#1] SMP > Modules linked in: xen_evtchn nouveau mxm_wmi wmi radeon ttm i915 fbcon tileblit font atl1c bitblit softcursor drm_kms_helper video xen_blkfront xen_netfront fb_sys_fops sysimgblt sysfillrect syscopyarea xenfs xen_privcmd mperf > CPU 0 > Pid: 2302, comm: udevd Not tainted 3.8.0-rc3upstream-00249-g09ad159 #1 MSI MS-7680/H61M-P23 (MS-7680) > RIP: e030:[<ffffffff814d956c>] [<ffffffff814d956c>] __cpuidle_register_device+0x1c/0x120 > RSP: e02b:ffff88009dacfcb8 EFLAGS: 00010286 > RAX: 0000000000000000 RBX: ffff880105380000 RCX: 000000000000001c > RDX: 0000000000000000 RSI: 0000000000000055 RDI: ffff880105380000 > RBP: ffff88009dacfce8 R08: ffffffff81a4f048 R09: 0000000000000008 > R10: 0000000000000008 R11: 0000000000000000 R12: ffff880105380000 > R13: 00000000ffffffdd R14: 0000000000000000 R15: ffffffff81a523d0 > FS: 00007f37bd83b7a0(0000) GS:ffff880105200000(0000) knlGS:0000000000000000 > CS: e033 DS: 0000 ES: 0000 CR0: 0000000080050033 > CR2: 0000000000000008 CR3: 00000000a09ea000 CR4: 0000000000042660 > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 > Process udevd (pid: 2302, threadinfo ffff88009dace000, task ffff88009afb47f0) > Stack: > ffffffff8107f2d0 ffffffff810c2fb7 ffff88009dacfce8 00000000ffffffea > ffff880105380000 00000000ffffffdd ffff88009dacfd08 ffffffff814d9882 > 0000000000000003 ffff880105380000 ffff88009dacfd28 ffffffff81340afd > Call Trace: > [<ffffffff8107f2d0>] ? collect_cpu_info_local+0x30/0x30 > [<ffffffff810c2fb7>] ? __might_sleep+0xe7/0x100 > [<ffffffff814d9882>] cpuidle_register_device+0x32/0x70 > [<ffffffff81340afd>] intel_idle_cpu_init+0xad/0x110 > [<ffffffff81340bc8>] cpu_hotplug_notify+0x68/0x80 > [<ffffffff8166023d>] notifier_call_chain+0x4d/0x70 > [<ffffffff810bc369>] __raw_notifier_call_chain+0x9/0x10 > [<ffffffff81094a4b>] __cpu_notify+0x1b/0x30 > [<ffffffff81652cf7>] _cpu_up+0x103/0x14b > [<ffffffff81652e18>] cpu_up+0xd9/0xec > [<ffffffff8164a254>] store_online+0x94/0xd0 > [<ffffffff814122fb>] dev_attr_store+0x1b/0x20 > [<ffffffff81216404>] sysfs_write_file+0xf4/0x170 > [<ffffffff811a1024>] vfs_write+0xb4/0x130 > [<ffffffff811a17ea>] sys_write+0x5a/0xa0 > [<ffffffff816643a9>] system_call_fastpath+0x16/0x1b > Code: 03 18 00 c9 c3 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 48 83 ec 30 48 89 5d e8 4c 89 65 f0 48 89 fb 4c 89 6d f8 e8 84 08 00 00 <48> 8b 78 08 49 89 c4 e8 f8 7f c1 ff 89 c2 b8 ea ff ff ff 84 d2 > RIP [<ffffffff814d956c>] __cpuidle_register_device+0x1c/0x120 > RSP <ffff88009dacfcb8> > > This patch fixes it by moving the CPU notifier registration > as the last item to be done by the module. > > Cc: stable@vger.kernel.org # for 3.6 and above > Cc: Daniel Lezcano <daniel.lezcano@linaro.org> > Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> > Cc: Rafael J. Wysocki <rjw@sisk.pl> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > --- Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> Regards, Srivatsa S. Bhat > drivers/idle/intel_idle.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c > index 4ba384f..2df9414 100644 > --- a/drivers/idle/intel_idle.c > +++ b/drivers/idle/intel_idle.c > @@ -448,8 +448,6 @@ static int intel_idle_probe(void) > else > on_each_cpu(__setup_broadcast_timer, (void *)true, 1); > > - register_cpu_notifier(&cpu_hotplug_notifier); > - > pr_debug(PREFIX "v" INTEL_IDLE_VERSION > " model 0x%X\n", boot_cpu_data.x86_model); > > @@ -612,6 +610,7 @@ static int __init intel_idle_init(void) > return retval; > } > } > + register_cpu_notifier(&cpu_hotplug_notifier); > > return 0; > } > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-01-16 8:10 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1358288604-24620-1-git-send-email-konrad.wilk@oracle.com>
2013-01-15 22:23 ` [PATCH 1/2] ACPI: intel-idle: Don't register CPU notifier if we are not running Konrad Rzeszutek Wilk
2013-01-15 22:33 ` Rafael J. Wysocki
2013-01-15 22:30 ` Konrad Rzeszutek Wilk
2013-01-16 8:10 ` Srivatsa S. Bhat
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox