Page 1 of 1

TLB flush

Posted: Thu Feb 24, 2005 11:06 am
by pini
I know that changing CR3's value invalidates all TLB entries.
What about disabling and re-enabling paging ? Does this also invalidates all TLB entries ? (I guess it does)
Which one takes the less time ?

Re:TLB flush

Posted: Thu Feb 24, 2005 11:13 am
by Pype.Clicker
probably the same amount of time. What costs is the fact the TLB is empty (requiring additionnal cycles to re-fill it on demand), not the emptying process itself (basically, it asserts a signal line for one cycle and all the "valid" bits of all the entries are cleared simultaneously ...)

Re:TLB flush

Posted: Thu Feb 24, 2005 1:10 pm
by Candy
pini wrote: I know that changing CR3's value invalidates all TLB entries.
What about disabling and re-enabling paging ? Does this also invalidates all TLB entries ? (I guess it does)
Which one takes the less time ?
In theory, they're pretty much the same, except for the first one not switching between cpu modes twice. I guess it's not much slower, but it wouldn't be faster in any case.