Messages in this thread | | | Date | Thu, 14 Jun 2012 10:10:25 +0800 | From | Alex Shi <> | Subject | Re: [PATCH v8 8/8] x86/tlb: do flush_tlb_kernel_range by 'invlpg' |
| |
On 06/14/2012 09:26 AM, Alex Shi wrote:
> On 06/14/2012 09:10 AM, Alex Shi wrote: > >> On 06/13/2012 10:56 PM, Andi Kleen wrote: >> >>> On Tue, Jun 12, 2012 at 05:06:45PM +0800, Alex Shi wrote: >>>> This patch do flush_tlb_kernel_range by 'invlpg'. The performance pay >>>> and gain was analysed in my patch (x86/flush_tlb: try flush_tlb_single >>>> one by one in flush_tlb_range). Now we move this logical into kernel >>>> part. The pay is multiple 'invlpg' execution cost, that is same. but >>>> the gain(cost reducing of TLB entries refilling) is absolutely >>>> increased. >>> >>> The subtle point is whether INVLPG flushes global pages or not. >>> After some digging I found a sentence in the SDM that says it does. >>> So it may be safe. >> >> >> Many thanks for your time! >> >>> >>> What does it improve? >> >> >> I have not specific benchmark for this. partly due to the gain theory >> was proved since it is same as previous user process's page table flush. >> >> The user of tlb kernel flush in kernel is vmalloc. and Android binder >> IPC subsystem is using it(drivers/staging/android/binder.c) >> >> I am wondering if it can help Andriod on this? >> So, add cc to android-kernel@googlegroups.com > > > Sorry, Andriod reject posting without register, so cc to > linux-omap@vger.kernel.org and linux-tegra@vger.kernel.org instead.
Ops, forget the architecture different again This will help x86 android, not arm system. Forget above 2 mailing lists. :(
> >> >>> -Andi >> >> > >
| |