Fix the bug of active_table_swap() wrongly force unlock in pg fault handler

master
lcy1996 6 years ago
parent b2fec2b16b
commit 76d2c6ec7b

@ -23,6 +23,8 @@ impl SwapManager for FifoSwapManager {
.position(|ref x| x.get_virtaddr() == addr && x.get_token() == token)
.expect("address not found");
self.deque.remove(id);
//info!("SwapManager remove token finished: {:x?} vaddr: {:x?}", token, addr);
}
fn pop<T, S>(&mut self, _: &mut T, _: &mut S) -> Option<Frame>

@ -108,7 +108,7 @@ impl Drop for KernelStack {
*/
pub fn page_fault_handler(addr: usize) -> bool {
info!("start handling swap in/out page fault");
unsafe { ACTIVE_TABLE_SWAP.force_unlock(); }
//unsafe { ACTIVE_TABLE_SWAP.force_unlock(); }
info!("active page table token in pg fault is {:x?}", ActivePageTable::token());
let mmset_record = memory_set_record();

Loading…
Cancel
Save