Description

Attention: Use the PGSER macro rather than PGLOAD.

The PGLOAD macro is used to load specified virtual storage areas into central (also called real) storage in anticipation of future needs. That is, PGLOAD is essentially a page-ahead function. The PGLOAD macro performs this function for virtual addresses below 16 megabytes; the LOAD option of the PGSER macro performs the same function for virtual addresses either above or below 16 megabytes. Note, however, that a page that has been loaded via PGLOAD is eligible for page-out selection in the same manner as a page that has been demand-paged into central storage.

The misuse of this function can have adverse effects on system performance. Causing unnecessary pages to be brought into central storage will force other pages to be displaced and, consequently, cause unnecessary paging activity. Proper use of this function, however, will tend to decrease system overhead resulting from page faults.

Syntax

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

Syntax Description
   
   name name: Symbol. Begin name in column 1.
   
One or more blanks must precede PGLOAD.
   
PGLOAD  
   
One or more blanks must follow PGLOAD.
   
R  
   
,A=start addr start addr: A-type address, or register (1) or (2) - (12).
   
   ,ECB=ecb addr ecb addr: A-type address, or register (0) or (2) - (12).
   
   ,EA=end addr end addr: A-type address, or register (2) - (12) or (15).
  Default:  start addr + 1
   
   ,RELEASE=N Default: RELEASE=N
   ,RELEASE=Y Note: RELEASE=Y may only be specified with EA above.
   

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 loaded.
,ECB=ecb addr
Specifies the address of an ECB that is used to signal event completion.
,EA=end addr
Specifies the end address + 1 of the virtual area to be loaded.
,RELEASE=N
,RELEASE=Y
Specifies that the contents of the virtual area is to remain intact (N) or be released (Y).
When control is returned, register 15 contains one of the following return codes:
Hexadecimal Code
Meaning
00
Operation completed normally; ECB posted complete.
08
Operation proceeding; ECB will be posted when all page-ins are complete.
If control is not returned, an ABEND is issued with the following reason codes in register 15:
Hexadecimal Code
Meaning
10
Virtual subarea list entry or ECB address invalid. No ECB is posted.
If the ECB parameter is coded, the ECB is unchanged if the request was initiated but not complete (return code 8), or if an ABEND was issued with return code 10. Otherwise, the ECB is posted complete with code
0 -
Operation completed successfully.
If the return code issued is 8, the ECB is posted asynchronously when paging I/O has completed, with code
0 -
Operation completed successfully.

Example 1

Page-in a single byte of virtual storage, causing the entire 4096-byte page containing that byte to be paged into central storage.
PGLOAD   R,A=(R3)

Example 2

Page-in the virtual storage lying in the range addressed by registers 3 and 4, and notify the requestor via posting of the ECB when the page-ins are complete.
PGLOAD   R,A=(R3),EA=(R4),ECB=(R5)

Example 3

Discard the contents of the virtual pages totally encompassed by STARTAD and ENDAD before new real frames are assigned.
PGLOAD   R,A=STANDARD,EA=ENDAD,RELEASE=Y