From mboxrd@z Thu Jan 1 00:00:00 1970 From: heechul@illinois.edu (heechul Yun) Date: Wed, 1 Jun 2011 16:16:57 -0700 Subject: A page fault causes exiting from WFI mode for all idling cores? In-Reply-To: <1306932935.9909.8.camel@e102568-lin.cambridge.arm.com> References: <1306932935.9909.8.camel@e102568-lin.cambridge.arm.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wed, Jun 1, 2011 at 5:55 AM, Lorenzo Pieralisi wrote: > On Wed, 2011-06-01 at 11:14 +0100, Catalin Marinas wrote: >> On 28 May 2011 12:59, heechul Yun 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? The kernel version is 2.6.36. I checked the number of IPIs before/after the program and found there were close to none IPIs during the run. >> >> 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. > You mean cache/tlb operations can automatically generate maintenance request to other cores (not via IPIs) ? > Lorenzo > > >