![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: Due to MC SYSGEN HELP MPW_*LIMIT, a system deadlock occurs if MPW_WAITLIMIT is less than MPW_HILIMIT. Then why is AUTOGEN calculating MPW_HILIMIT to 32768 and MPW_WAITLIMIT 13363, which is less? Does it make any sense if MPW_WAITLIMIT is set higher than MPW_HILIMIT? The Answer is : AUTOGEN originally calculated MPW_HILIMIT as 32768. It was then directed to use tha hardcoded value of 13107. Based on this forced MPW_HILIMIT value, AUTOGEN calculated the MPW_WAITLIMIT value as 13363 -- which is higher than MPW_HILIMIT and which would avoid a possible deadlock. Regarding "Does it make any sense if MPW_WAITLIMIT is set higher than MPW_HILIMIT?", yes. Writing of modified pages starts when the size of the modified page list exceeds MPW_HILIMIT. There are certainly other reasons to write modified pages, but they do not particularly apply here. Processes are placed into the RWMPB wait state when the process places a page on the modified page list and the size of the modified list exceeds MPW_WAITLIMIT. Again, there are more reasons, but... By making MPW_WAITLIMIT larger than MPW_HILIMIT, the modified page writer gets a head start on reducing the modified page list and it is less likely that processes will have to wait in RWMPB.
|