mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-24 09:53:24 +00:00
Remove the implementation of MADV_DONTNEED
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
97fab9edea
commit
c4e9a0db38
@ -17,23 +17,14 @@ pub fn sys_madvise(start: Vaddr, len: usize, behavior: i32) -> Result<SyscallRet
|
|||||||
let mut buffer = vec![0u8; len];
|
let mut buffer = vec![0u8; len];
|
||||||
read_bytes_from_user(start, &mut VmWriter::from(buffer.as_mut_slice()))?;
|
read_bytes_from_user(start, &mut VmWriter::from(buffer.as_mut_slice()))?;
|
||||||
}
|
}
|
||||||
MadviseBehavior::MADV_DONTNEED => madv_dontneed(start, len)?,
|
MadviseBehavior::MADV_DONTNEED => {
|
||||||
|
warn!("MADV_DONTNEED isn't implemented, do nothing for now.");
|
||||||
|
}
|
||||||
_ => todo!(),
|
_ => todo!(),
|
||||||
}
|
}
|
||||||
Ok(SyscallReturn::Return(0))
|
Ok(SyscallReturn::Return(0))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn madv_dontneed(start: Vaddr, len: usize) -> Result<()> {
|
|
||||||
debug_assert!(start % PAGE_SIZE == 0);
|
|
||||||
debug_assert!(len % PAGE_SIZE == 0);
|
|
||||||
let current = current!();
|
|
||||||
let root_vmar = current.root_vmar();
|
|
||||||
let advised_range = start..start + len;
|
|
||||||
// `destroy()` interface may require adjustment and replacement afterwards.
|
|
||||||
let _ = root_vmar.destroy(advised_range);
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
|
|
||||||
#[repr(i32)]
|
#[repr(i32)]
|
||||||
#[derive(Debug, Clone, Copy, TryFromInt)]
|
#[derive(Debug, Clone, Copy, TryFromInt)]
|
||||||
#[allow(non_camel_case_types)]
|
#[allow(non_camel_case_types)]
|
||||||
|
Reference in New Issue
Block a user