$ADJWSL, or Adjust Working Set Limit, is a system service that adjusts a process’s current working set limit by the specified number of pagelets (on Alpha or Integrity server systems) and returns the new value to the caller. The working set limit specifies the maximum number of process pagelets that can be resident in physical memory. On Alpha and Integrity server systems, this service accepts 64-bit addresses. If a program attempts to adjust the working set limit beyond the system-defined upper and lower limits, no error condition is returned; instead, the working set limit is adjusted to the maximum or minimum size allowed.
SYS$ADJWSL [pagcnt] ,[wsetlm]
int sys$adjwsl (int pagcnt, unsigned int *wsetlm);
Signed adjustment value specifying the number of pagelets to add to (if positive) or subtract from (if negative) the current working set limit. The pagcnt argument is this signed longword value. Note that on Alpha and Integrity server systems, the specified value is rounded up to an even multiple of the CPU-specific page size. If pagcnt is not specified or is specified as 0, no adjustment is made and the current working set limit is returned in the longword specified by the wsetlm argument (if this argument is specified).
|Mechanism:||by 32- or 64-bit reference|
Value of the working set limit, in pagelets , returned by $ADJWSL. The wsetlm argument is the 32- or 64-bit address of this longword value. The wsetlm argument receives the newly adjusted value if pagcnt is specified, and it receives the prior, unadjusted value if pagcnt is not specified.
The initial value of a process’s working set limit is controlled by the working set default (WSDEFAULT) quota. The maximum value to which it can be increased is controlled by the working set extent (WSEXTENT) quota; the minimum value to which it can be decreased is limited by the system parameter MINWSCNT.
Condition Values Returned
|SS$_NORMAL||The service completed successfully.|
|SS$_ACCVIO||The longword specified by wsetlm cannot be written by the caller.|