On Tue, Jun 09, 2015 at 08:34:35AM -0700, Dave Hansen wrote: > On 06/09/2015 05:43 AM, Ingo Molnar wrote: > > +static char tlb_flush_target[PAGE_SIZE] __aligned(4096); > > +static void fn_flush_tlb_one(void) > > +{ > > + unsigned long addr = (unsigned long)&tlb_flush_target; > > + > > + tlb_flush_target[0]++; > > + __flush_tlb_one(addr); > > +} > > So we've got an increment of a variable in kernel memory (which is > almost surely in the L1), then we flush that memory location, and repeat > the increment. BTW, Ingo, have you disabled direct mapping of kernel memory with 2M/1G pages for the test? I'm just thinking if there is chance that the test shooting out 1G tlb entry. In this case we're measure wrong thing. -- Kirill A. Shutemov -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>