Description

Attention: Use the PGSER macro rather than PGOUT.

The PGOUT macro is used to initiate page-out operations for specified virtual storage areas that are in central (also called real) storage. The PGOUT macro performs this function for virtual addresses below 16 megabytes; the OUT option of the PGSER macro performs the same function for virtual addresses either above or below 16 megabytes. The PGOUT function is complementary to the PGLOAD function. You have the option of specifying that the virtual pages to be paged out either remain valid in central storage, or be marked invalid and the real frames assigned to them be made available for reuse. The use of this option will not prevent page faults from occurring on the specified storage.

The misuse of this function, like the misuse of the PGLOAD function, can have adverse effects on system performance. On the other hand, proper use of this function will tend to clean out of central storage those pages no longer needed for program execution or not required for some period in the future.

Syntax

The standard form of the PGOUT macro is written as follows:

Syntax Description
   
   name name: Symbol. Begin name in column 1.
   
One or more blanks must precede PGOUT.
   
PGOUT  
   
One or more blanks must follow PGOUT.
   
R  
   
,A=start addr start addr: A-type address, or register (1) or (2) - (12).
   
   ,EA=end addr end addr: A-type address, or register (2) - (12) or (15).
   
   ,KEEPREL=N Default: KEEPREL=N
   ,KEEPREL=Y  
   

Parameters

The parameters are explained as follows:

R
Specifies that no parameter list is being supplied with this request.
,A=start addr
Specifies the start address of the virtual area to be paged out.
,EA=end addr
Specifies the end address + 1 of the virtual area to be paged out.
,KEEPREL=N
,KEEPREL=Y
Specifies that the virtual pages will be marked invalid and the real frames freed for reuse (N) or that the virtual pages will not be invalidated (Y).
When control is returned, register 15 contains one of the following return codes:
Hexadecimal Code
Meaning
00
Operation completed normally; paging I/O proceeding asynchronously.
0C
One or more pages specified to be paged out were not paged out. Either the pages were in the nucleus in unusable real frames, in SQA or LSQA, in V=R area allocated region, were page fixed, or the system resources necessary to perform the page out operations were momentarily unavailable. Paging I/O is proceeding normally for all other pages.
10
Operation abnormally terminated. Virtual subarea list entry invalid.

Example 1

Page out the area of central storage totally encompassed by the start and end virtual boundaries specified.
PGOUT   R,A=(R3),EA=(R4)

Example 2

Create an auxiliary storage copy of a virtual area before continuing to use the area. The area will remain in central storage after the page-outs complete.
PGOUT   R,A=(R3),EA=(R4),KEEPREL=Y