A page fault causes exiting from WFI mode for all idling cores?

Lorenzo Pieralisi lorenzo.pieralisi at arm.com
Wed Jun 1 08:55:35 EDT 2011


On Wed, 2011-06-01 at 11:14 +0100, Catalin Marinas wrote:
> On 28 May 2011 12:59, heechul Yun <heechul at illinois.edu> wrote:
> > While I was investigating page fault handling performance on a quad
> > core Cortex-A9 ARM processor, I noticed that whenever there is a
> > page fault, all idling cores also awakened---exiting from WFI instruction
> > on the idle loop (and go back to WFI again).
> >
> > Since the page fault generating program is running on a single core,
> > it seems unnecessary to wake up other idling cores (hence saving
> > power) as well.
> >
> > Can anyone tell me if this, exiting from WFI on every page fault, is
> > correct behavior? If so, why?
> 
> I don't think this is explicitly done by Linux, at least not with
> Cortex-A9. For ARM11MPCore, we do some TLB operations which are
> broadcast in software via IPI. Which kernel version are you using?
> 
> Also note that WFI is just a hint to the processor, so it could get
> out of it at any time. Maybe the A9 just does this when it gets some
> TLB ops from another CPU.
> 

According to A9 TRM transition from standby to run mode can be triggered
by cp15 maintenance requests generated by another cpu, just to reiterate
Catalin's reply.

Lorenzo





More information about the linux-arm-kernel mailing list