A page fault causes exiting from WFI mode for all idling cores?
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.
More information about the linux-arm-kernel