Messages in this thread | | | Date | Thu, 14 Jun 2012 09:26:31 +0800 | From | Alex Shi <> | Subject | Re: [PATCH v8 8/8] x86/tlb: do flush_tlb_kernel_range by 'invlpg' |
| |
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.
> >> -Andi > >
| |