TLB flush

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
pini

TLB flush

Post 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 ?
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:TLB flush

Post 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 ...)
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Re:TLB flush

Post 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.
Post Reply