Virtual Devices (3.1) (vdag31qh.hlp) (Table of Contents; Topic list)
_PageOutDirtyPages
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include vmm.inc
 
VMMcall _PageOutDirtyPages, <nPages, flags>
 
mov     [DirtyPages], eax       ; count of dirty pages flushed
 
The _PageOutDirtyPages service flushes dirty pages. The virtual pageswap
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 pageswap device.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
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
           ─────────────────────────────────────────────────────────────────
           PagePDPSetBase     Sets the base page number to the current
                              starting point of the dirty-page scan.
 
           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.
 
           All other values are reserved.
 
Return Value
 
The EAX register contains the actual count of dirty pages flushed by the
service.
 
Comments
 
The virtual pageswap 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 pageswap device can flush all the
dirty pages by specifying a large value for the nPages parameter. The
PagePDPSetBase and PagePDPClearBase values let the virtual pageswap 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.
 
Uses
 
EAX
 
See Also
 
_PageDiscardPages