Waits for the completion of all page-out operations for pages in the virtual memory object.
#include <sys/types.h> #include <sys/errno.h> #include <sys/vmuser.h>
int vms_iowait (vmid) vmid_t vmid;
|vmid||Identifies the virtual memory object for which to wait.|
The vms_iowait kernel service performs two tasks. First, it determines the I/O level at which all currently scheduled page-outs are complete for the virtual memory object specified by the vmid parameter. Then, the vms_iowait service places the current process in a wait state until this I/O level has been reached.
The I/O level value is a count of page-out operations kept for each virtual memory object.
The I/O level accounts for out-of-order processing by not incrementing the I/O level for new page-out requests until all previous requests are complete. Because of this, processes waiting on different I/O levels can be awakened after a single page-out operation completes.
If the caller holds the kernel lock, the vms_ iowait service releases the kernel lock before waiting and reacquires it afterwards.
The vms_iowait kernel service can be called from the process environment only.
|0||Indicates that the page-out operations completed.|
|EIO||Indicates that an error occurred while performing I/O.|
The vms_iowait kernel service is part of Base Operating System (BOS) Runtime.
Memory Kernel Services and Understanding Virtual Memory Manager Interfaces in AIX Kernel Extensions and Device Support Programming Concepts.