VMMLOD(3)                        VERSION 1.0                         VMMLOD(3)

NAME
        VMMLOD- load one or more slices into memory.

USAGE
        ier = vmmlod(inlkey,nkey)
        integer vmmlod
        integer nkey, ier
        integer inlkey(nkey)

DESCRIPTION

        VMMLOD is  an integer  function of  the VMM  (Virtual Memory  Manager)
package used for loading one or more slices  into memory.  The list of  slices
to be loaded is contained in the inlkey array.

        The performance of VMMLOD is drastically  reduced when one or more  of
the slices already  resident in  memory are  locked (i.e.  have been  rendered
unmovable by the user through a call to either VMMLCK or VMMGET)  since VMMLOD
will then load the  new slices one at  a time.   Best performance is  achieved
when there are no locked slices in memory.  It is then possible for VMMLOD  to
load all the slices contained in inlkey in one pass.  The function VMMDIAG may
be used at the  end of a program's  execution, in order to  find out how  many
calls to VMMLOD have been done when there were locked slices in memory.

        The number of slices that can be present in memory at any one time  is
of course dependent  on the  total amount of  memory that  has been  allocated
through the VMMALLC function. However,  memory that has been rendered unusable
for loading (via  VMMHPA) and the  presence of locked  slices may also  hinder
VMMLOD's capacity to  load slices into  memory.  Should  not enough memory  be
available for  loading all  desired  slices, the  following solutions  may  be
considered:  first,  whenever feasible, all the calls to VMMLOD should be done
before any calls to VMMGET,  VMMLCK and VMMHPA.  This insures that an  optimum
amount of memory  is available  for loading and  that resident  slices can  be
moved around in an attempt to  maximize that usable memory. Should this  first
solution prove unfruitful, the amount of memory requested through VMMALLC  may
be increased.  The VMMDIAG  function may  prove to  be useful  when trying  to
determine the  appropriate  amount of  memory  that  is required  by  a  given
program.

ARGUMENTS

        inlkey       -(input) list of keys pointing to the slices to be loaded

        nkey         -(input) number of keys in inlkey

EXAMPLE

        integer inlkey(3)
        integer key1

        key1=vmmcre('VAR_1',10,5,'SAVE=Y,CLASS=1,WEIGHT=5')

*       load 3 of the slices of VAR_1
        inlkey(1)=key1
        inlkey(2)=key1+2
        inlkey(3)=key1+3
        ier = vmmlod(inlkey,3)

AUTHORS

        J.Caveen, M. Lepine, M. Roch - RPN

NOTES
        Errors that will cause a premature end of program execution

                -No previous call to VMMALLC
                -Password is set ( System is locked)
                -Trying to load more that 1000 slices at a time
                -Not enough memory to load all requested slices
                -Invalid key found in the inlkey array

        Latest revision, november 1993

        See  also  vmmallc(3),  vmmatt(3),  vmmcks(3),  vmmcpk(3),  vmmcre(3),
vmmdbg(3),  vmmdiag(3),  vmmdmp(3),   vmm_example(1),  vmmfgt(3),   vmmget(3),
vmmhpa(3), vmmhpd(3), vmmint(3), vmmintro(1), vmmlck(3), vmmlse(3), vmmpak(3),
vmmpwd(3), vmmrls(3), vmmrnm(3), vmmsav(3), vmmuld(3), vmmulk(3), vmmuln(3).