From: Stephane E. <er...@hp...> - 2003-10-21 03:48:53
|
John, I spent some time trying to reproduce your problem here. So I downloaded the latest Oprofile from your CVS tree. Then I hacked the Makefile in daemon to use opd_perfmon.c. I managed to get a binary for the daemon. I installed it on my 2-way Itanium2 machine running Debian. I am using 2.6.0-test7 as my kernel base in which I have incorporated the your oprofile patch. I launched the daemon, then start measuring: # opcontrol --start-daemon # opcontrol --start wait 10 seconds # opcontrol --stop # cat /proc/perfmon perfmon version : 2.0 model : Itanium 2 fastctxsw : No ovfl_mask : 0x7fffffffffff CPU0 overflow intrs : 99764 CPU0 overflow cycles : 51595015 CPU0 overflow min : 489 CPU0 overflow max : 6154 CPU0 smpl handler calls : 99764 CPU0 smpl handler cycles : 11399161 CPU0 spurious intrs : 0 CPU0 replay intrs : 0 CPU0 syst_wide : 1 CPU0 dcr_pp : 0 CPU0 exclude idle : 0 CPU0 owner : 32628 CPU0 context : e00000405ebf6000 CPU0 activations : 0 CPU1 overflow intrs : 99776 CPU1 overflow cycles : 50214102 CPU1 overflow min : 477 CPU1 overflow max : 4504 CPU1 smpl handler calls : 99776 CPU1 smpl handler cycles : 10650890 CPU1 spurious intrs : 0 CPU1 replay intrs : 0 CPU1 syst_wide : 1 CPU1 dcr_pp : 0 CPU1 exclude idle : 0 CPU1 owner : 32629 CPU1 context : e00000405e942000 ... It is showing the two CPUs have received interrupts and more or less the same count. Next I tried the following: # opcontrol --start-deamon; opcontrol --start; sleep 5; opcontrol --stop && sleep 5 && opcontrol --shutdown And both CPU would stop cleanly. I tried several times and nothing bad happened. It may be something different in your kernel. Could you try by downloading David's kernel instead of Linus's kernel? Alternatively I could give you the test kernel I am using now. -- -Stephane |