Powerpc does not have an explicit check for the TIF_PERFMON_WORK thread-info
flag before calling __pfm_handle_work(), so add that check at the beginning
of __pfm_handle_work.

This is just a temporary fix. Obviously we'd like to fix the powerpc code to
make that check before calling __pfm_handle_work() to prevent the function
call overhead, but the call is made from assembly code, so it will take a
little while to figure out how to perform the check correctly. For now, if
you want to run perfmon on powerpc, you'll need to use this patch.

Signed-off-by: Kevin Corry <[EMAIL PROTECTED]>

Index: linux-2.6.20-arnd3-perfmon2/perfmon/perfmon.c
===================================================================
--- linux-2.6.20-arnd3-perfmon2.orig/perfmon/perfmon.c
+++ linux-2.6.20-arnd3-perfmon2/perfmon/perfmon.c
@@ -518,6 +518,9 @@ void __pfm_handle_work(struct pt_regs *r
        unsigned long flags, dummy_flags;
        int type, ret, can_release;
 
+       if (!test_thread_flag(TIF_PERFMON_WORK))
+               return;
+
        if (!user_mode(regs))
                return;
 
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/

Reply via email to