From: John L. <mov...@us...> - 2002-01-04 21:35:22
|
Update of /cvsroot/oprofile/oprofile/module In directory usw-pr-cvs1:/tmp/cvs-serv14246/module Modified Files: oprofile.c Log Message: change the partial_stop change. Phil, look please, if things are still wrong in that let me know... Index: oprofile.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/module/oprofile.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- oprofile.c 2002/01/04 21:18:39 1.26 +++ oprofile.c 2002/01/04 21:35:18 1.27 @@ -53,8 +53,6 @@ /* in the process of quitting ? */ static int quitting; -/* is partial_stop made ? Re-using quitting for this purpose is obfuscated */ -static int partial_stop; static int op_major; @@ -317,9 +315,6 @@ inline static void pmc_select_start(uint cpu) { - if (partial_stop) - return; - if (cpu == op_cpu_id()) pmc_start(NULL); else @@ -328,9 +323,6 @@ inline static void pmc_select_stop(uint cpu) { - if (partial_stop) - return; - if (cpu == op_cpu_id()) pmc_stop(NULL); else @@ -768,14 +760,10 @@ */ static void oprof_partial_stop(void) { - if (partial_stop) - return; - op_replace_syscalls(); smp_call_function(pmc_stop, NULL, 0, 1); pmc_stop(NULL); restore_nmi(); - partial_stop = 1; } static int oprof_stop(void) @@ -918,7 +906,9 @@ } spin_unlock(¬e_lock); oprof_ready[cpu] = 2; - pmc_select_start(cpu); + if (!quitting) { + pmc_select_start(cpu); + } } wake_up(&oprof_wait); } |