On 04/11/2017 05:41 PM, Paul Gilmartin wrote:
> On Tue, 11 Apr 2017 16:45:10 -0500, Greg Dyck wrote:
>
>> On 4/11/2017 3:26 PM, Paul Gilmartin wrote:
>>> My understanding, ancient, probably outdated, and certainly naive is that
>>> there is little communication between GETMAIN/FREEMAIN and the paging
>>> subsystem. If a program touches a page that was never GETMAINed no error
>>> occurs; simply a page slot is allocated up to the limit of the REGION
>>> parameter. Conversely, on FREEMAIN the page slots are not released.
>> *Totally* wrong. z/OS (or any predecessors or relatives like VS1) has
>> never worked like you describe.
>>
>> If a virtual page is not 'getmain assigned' by VSM it will never be
>> backed by a real frame by RSM and an 0C4-11 will occur. When all
>> virtual storage on a page is freed VSM will return the allocated AUX
>> slot and real frame, if either have been allocated, and reset the
>> 'getmain assigned' indicator.
>>
> What about the other side? Will GETMAIN return indication of success
> only if the requested page slots can be committed?
>
> A Google search for "lazy malloc" shows the preponderance of complaints
> concern Linux.
>
> My information came from a UNIX/C programmer before the ascendancy
> of Linux.
>
> And from an MVS wizard who insisted that for GETMAIN to fail if requested
> page slots could not be committed would cause enormous breakage of
> existing art.
>
> -- gil
>
>
How would GETMAIN have any way of predicting either the future
availability of page frames when a virtual storage page is later
referenced or the future availability of paging system page slots if and
when z/OS decides to page out a backing page frame? I seem to recall
there are some inhibitions on starting new address spaces in a "storage
constrained" environment, but that doesn't apply to individual GETMAINs
from an already running address spaces.
GETMAIN returns a success indication based purely on whether virtual
storage is available to the address space within the REGION size
constrains.
It is the SysProg's non-trivial job to configure the LPAR real memory
and configure z/OS to adequately constrain max REGION sizes, the number
of address spaces and size the paging subsystem so that page thrashing
doesn't occur and critical page slot thresholds in the paging subsystem
aren't exceeded. There are tools, configuration parameters, and exits
that make that possible.
Joel C. Ewing
--
Joel C. Ewing, Bentonville, AR [email protected]
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN