Review Board 2.0.15


x86: Timing support for pagetable walker

Review Request #396 - Created Jan. 6, 2011 and submitted

Information
Brad Beckmann
gem5
Reviewers
Default
ali, gblack, nate, stever
x86: Timing support for pagetable walker

Move page table walker state to its own object type, and make the
walker instantiate state for each outstanding walk. By storing the
states in a queue, the walker is able to handle multiple outstanding
timing requests. Note that functional walks use separate state
elements.

   
Review request changed
Updated (Jan. 20, 2011, 8:57 a.m.)
Posted (Jan. 21, 2011, 6:22 p.m.)



  
src/arch/x86/pagetable_walker.cc (Diff revision 3)
 
 
Possible memory leak? I think the sender is responsible for cleaning up the packet for atomic accesses, and I don't see where that's being done. I may be wrong about atomic mode, or have missed where this is cleaned up.
src/arch/x86/pagetable_walker.cc (Diff revision 3)
 
 
Possible memory leak?
src/arch/x86/pagetable_walker.cc (Diff revision 3)
 
 
Instead of putting the majority of this function in an if/else, you could split it into two different functions. Then you could make the functional part take different parameters and not have to use the req or translation object to ferry information back.
src/arch/x86/pagetable_walker.cc (Diff revision 3)
 
 
Possible memory leak? Same rational as atomic mode.
src/arch/x86/pagetable_walker.cc (Diff revision 3)
 
 
Possible memory leak? If write is set to something we can't just lose it, we need to clean it up. That doesn't apply if write is statically allocated, but I don't see where that's happening.