The vm_map_clean function forces any dirty cached pages in the range start to end within the map to be pushed to their underlying pager.
If syncio is TRUE, dirty pages are written synchronously.
If invalidate is TRUE, any cached pages are also freed.
The range provided must be contiguous, it MUST NOT contain holes. The range provided MUST NOT contain any sub-map entries.
This routine holds the Giant lock to prevent multiple entry.
The vm_map_clean function returns KERN_SUCCESS if successful.
Otherwise, KERN_INVALID_ADDRESS will be returned if the function encountered a sub-map entry; KERN_INVALID_ARGUMENT will be returned if the function encountered a hole in the region provided, or if an entry could not be found for the given start address.