[ Previous | Next | Contents | Home | Search ]
AIX Version 4.3 Kernel and Subsystems Technical Reference, Volume 1

vms_iowait Kernel Service


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.

Execution Environment

The vms_iowait kernel service can be called from the process environment only.

Return Values

0 Indicates that the page-out operations completed.
EIO Indicates that an error occurred while performing I/O.

Implementation Specifics

The vms_iowait kernel service is part of Base Operating System (BOS) Runtime.

Related Information

Memory Kernel Services and Understanding Virtual Memory Manager Interfaces in AIX Kernel Extensions and Device Support Programming Concepts.

[ Previous | Next | Contents | Home | Search ]