Hi,
I found a bug on CPU hotplug. If oprofile is running, CPU hot remove causes
system hang. I only confirm that this problem occurs on my ia64 box. I'm glad
if someone report about other arch.
How to reproduce
================
1) start oprofile
# opcontrol --start
2) offline a CPU.
# echo 0 >/sys/devices/system/cpu/cpu1/online
Expected Result
===============
Succeed to remove CPU
Actual Result
=============
See the following console log.
# opcontrol --start
Detected stale lock file. Removing.
Using 2.6+ OProfile kernel interface.
Reading module info.
Running perfmon child on CPU0.
Waiting on CPU0
Perfmon child up on CPU0
Running perfmon child on CPU1.
Waiting on CPU1
Perfmon child up on CPU1
Running perfmon child on CPU2.
Waiting on CPU2
Perfmon child up on CPU2
Running perfmon child on CPU3.
Waiting on CPU3
Perfmon child up on CPU3
Running perfmon child on CPU4.
Waiting on CPU4
Perfmon child up on CPU4
Running perfmon child on CPU5.
Waiting on CPU5
Perfmon child up on CPU5
Running perfmon child on CPU6.
Waiting on CPU6
Perfmon child up on CPU6
Running perfmon child on CPU7.
Waiting on CPU7
Perfmon child up on CPU7
Using log file /var/lib/oprofile/oprofiled.log
Daemon started.
PFM_START on CPU1
PFM_START on CPU4
PFM_START on CPU0
Profiler running.
PFM_START on CPU3
PFM_START on CPU5
PFM_START on CPU2
PFM_START on CPU7
PFM_START on CPU6
# echo 0 >/sys/devices/system/cpu/cpu1/online
<SYSTEM HANG UP here!>
Thanks,
Satoru
On Mon, May 28, 2007 at 01:53:30PM +0900, Satoru Takeuchi wrote:
> I found a bug on CPU hotplug. If oprofile is running, CPU hot remove causes
> system hang. I only confirm that this problem occurs on my ia64 box. I'm glad
> if someone report about other arch.
oprofile is not CPU hotplug safe. (It should probably be made so,
but I think that would require a redesign, or at least a rewrite of
the backends.)
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: