On Mon April 30 2007 4:13 am, Stephane Eranian wrote:
> What about enclosing this into a #ifdef __ppc__ ?
> I don't know the right macro for all PPC, but I am
> sure there is one.

Yep, that should work. Here's a new patch.

Thanks,
-- 
Kevin Corry
[EMAIL PROTECTED]
http://www.ibm.com/linux/


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-perfmon3/perfmon/perfmon.c
===================================================================
--- linux-2.6.20-arnd3-perfmon3.orig/perfmon/perfmon.c
+++ linux-2.6.20-arnd3-perfmon3/perfmon/perfmon.c
@@ -518,6 +518,11 @@ void __pfm_handle_work(struct pt_regs *r
        unsigned long flags, dummy_flags;
        int type, ret, can_release;
 
+#ifdef CONFIG_PPC
+       if (!test_thread_flag(TIF_PERFMON_WORK))
+               return;
+#endif
+
        if (!user_mode(regs))
                return;
 
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/

Reply via email to