Re: [PATCH 11 of 11] x86: defer cr3 reload when doing pud_clear()

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Jeremy Fitzhardinge <jeremy@...>
Cc: Keir Fraser <Keir.Fraser@...>, H. Peter Anvin <hpa@...>, LKML <linux-kernel@...>, Andi Kleen <ak@...>, Jan Beulich <jbeulich@...>, Eduardo Pereira Habkost <ehabkost@...>, Ian Campbell <ijc@...>, William Irwin <wli@...>, Linus Torvalds <torvalds@...>
Date: Friday, January 25, 2008 - 8:11 pm

* Jeremy Fitzhardinge <jeremy@goop.org> wrote:


i made measurements some time ago and INVLPG was quite uniformly slow on 
all important CPU types - on the order of 100+ cycles. It's probably 
microcode. With a cr3 flush being on the order of 200-300 cycles (plus 
any add-on TLB miss costs - but those are amortized quite well as long 
as the pagetables are well cached - which they usually are on today's 
2MB-ish L2 caches), the high cost of INVLPG rarely makes it worthwile 
for anything more than a few pages.

so INVLPG makes sense for pagetable fault realated single-address 
flushes, but they rarely make sense for range flushes. (and that's how 
Linux uses it)

	Ingo
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH 11 of 11] x86: defer cr3 reload when doing pud_cl..., Jeremy Fitzhardinge, (Fri Jan 25, 6:54 pm)
Re: [PATCH 11 of 11] x86: defer cr3 reload when doing pud_cl..., Jeremy Fitzhardinge, (Fri Jan 25, 8:57 pm)
Re: [PATCH 11 of 11] x86: defer cr3 reload when doing pud_cl..., Jeremy Fitzhardinge, (Fri Jan 25, 7:44 pm)
Re: [PATCH 11 of 11] x86: defer cr3 reload when doing pud_cl..., Ingo Molnar, (Fri Jan 25, 8:11 pm)