include vmm.inc VMMcall _PageOutDirtyPages, <nPages, flags> mov [DirtyPages], eax ; count of dirty pages flushed |
The _PageOutDirtyPages service flushes dirty pages. The virtual page swap device uses this service to prevent a large number of dirty pages from accumulating in the system.
This service is intended for exclusive use by the virtual page swap device.
nPages
Specifies the maximum number of dirty pages to flush.
flags
Specifies the operation flags. This parameter can be a combination of the following values:
Value | Meaning |
PagePDPClearBase | Clears the base page number. |
PagePDPQueryDirty | Returns a count of dirty pages without flushing the pages. The service ignores the nPages parameter, and all other flags if this value is given. |
PagePDPSetBase | Sets the base page number to the current starting point of the dirty-page scan. |
All other values are reserved.
The EAX register contains the actual count of dirty pages flushed by the service.
The virtual page swap device typically flushes dirty pages in the system as part
of a background activity. It uses this service to scan for and flush current page-out candidates. The virtual page swap device can flush all the dirty pages by
specifying a large value for the nPages parameter. The PagePDPSetBase and PagePDPClearBase values let the virtual page swap device set and clear a variable that causes the scan for page-out candidates to stop at the given point, and return zero to indicate that the entire address space has been scanned.
EAX