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

Catalin Marinas catalin.marinas at arm.com
Wed Jun 1 06:14:37 EDT 2011


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.

-- 
Catalin



More information about the linux-arm-kernel mailing list