[PATCH 5/5] arm/perfevents: implement perf event support for ARMv6

Jamie Iles jamie at jamieiles.com
Wed Jan 6 07:14:41 EST 2010


On Wed, Jan 06, 2010 at 12:09:07PM -0000, Will Deacon wrote:
> Hi Jamie,
> 
> * Jamie Iles wrote:
> 
> > Ok, I've tried 2 things:
> > 	1. disabling interrupts around perf_event_task_sched_in()
> > 	2. undefining __ARCH_WANT_INTERRUPTS_ON_CTXSW
> > 
> > As far as I can tell, both of these solutions work, although with 2, I had to
> > define __ARCH_WANT_INTERRUPTS_ON_CTXSW.
> 
> I don't follow what you mean for point (2) when you say you have to define
> __ARCH_WANT_INTERRUPTS_ON_CTXSW. I tried defining __ARCH_WANT_INTERRUPTS_ON_CTXSW
> only when VIVT caches are present [as Russell mentioned], but I encountered
> further locking problems with __new_context [see below].
I got my define's mixed up. If you undef __ARCH_WANT_INTERRUPTS_ON_CTXSW then
you also need to define __ARCH_WANT_UNLOCKED_CTXSW to avoid the locking
problems you've described.
> 
> > Will, Jean - could you give the patch below a go and see if it works on your
> > systems? I don't get any lockdep warnings on my platform with this and it
> > still runs without the lock debugging.
> 
> This patch solves the issue for me. Should this be integrated into your patchset
> as that is the first perf code for ARM?
As long as no-one else has any objection.

Cheers,

Jamie



More information about the linux-arm-kernel mailing list