pub struct AtomicBitmapMmap { /* private fields */ }
Expand description
AtomicBitmapMmap
implements a simple memory-mapped bitmap on the page level with test
and set operations. The main use case is to support live migration on vhost-user backends
(see VHOST_USER_PROTOCOL_F_LOG_SHMFD
and VHOST_USER_SET_LOG_BASE
in the vhost-user protocol
specification). It uses a fixed memory page size of LOG_PAGE_SIZE
bytes, so it converts
addresses to page numbers before setting or clearing the bits.
Trait Implementations§
Source§impl Debug for AtomicBitmapMmap
impl Debug for AtomicBitmapMmap
Source§impl MemRegionBitmap for AtomicBitmapMmap
impl MemRegionBitmap for AtomicBitmapMmap
Source§fn new<R: GuestMemoryRegion>(
region: &R,
logmem: Arc<MmapLogReg>,
) -> Result<Self>
fn new<R: GuestMemoryRegion>( region: &R, logmem: Arc<MmapLogReg>, ) -> Result<Self>
Creates a new bitmap relative to
region
, using the logmem
as
backing memory for the bitmapAuto Trait Implementations§
impl Freeze for AtomicBitmapMmap
impl RefUnwindSafe for AtomicBitmapMmap
impl Send for AtomicBitmapMmap
impl Sync for AtomicBitmapMmap
impl Unpin for AtomicBitmapMmap
impl UnwindSafe for AtomicBitmapMmap
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more