Browse Prior Art Database

Page and Segment Locking Schema

IP.com Disclosure Number: IPCOM000053031D
Original Publication Date: 1981-Aug-01
Included in the Prior Art Database: 2005-Feb-12
Document File: 2 page(s) / 13K

Publishing Venue

IBM

Related People

Goldstein, BC: AUTHOR [+2]

Abstract

This solution can be used to overcome SALLOC of MVS (multiple virtual storage), lock bottleneck with locks that are applied on a specific page segment. This will allow for greater concurrency among processes contending for virtual storage, page faultssteals, etc.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 2

Page and Segment Locking Schema

This solution can be used to overcome SALLOC of MVS (multiple virtual storage), lock bottleneck with locks that are applied on a specific page segment. This will allow for greater concurrency among processes contending for virtual storage, page faultssteals, etc.

A page-lock bit would be associated with each entry in a page table extension (XPT) (or an entry (XPTE) which corresponds to a specific page).

This bit would be used to serialize between: . page faults and page faults (over the same page) . page faults and page steals for the same page . page steals and page steals for the same page

The holder of this bit (set to 1) would have access to this page (XPTE/PGTE) while the waiter would spin (until bit was set to Phi) until access was gained.

In addition, a SEGMENT level latch (on a specific XPT) is introduced. This latch is needed to prevent FREEMAIN from destroying the XPT (if the last page of a given segment is being FREEMAINED) while PAGE-FAULT/STEAL are looking at entries in the XPT. This latch would allow shared access to the segment for paging operations, but would allow only exclusive access for FREEMAIN (in the case described above).

This latch would be implemented as a counter in the XPT, which either contains "FF"s to indicate exclusive control (e.g., set by FREEMAIN), or the latch would contain a count of the number of concurrent paging operations in process on a given segment (0 < or = N < or 16) for 64K segments or (0 < or = N < or =256) for 1 meg segments.

This implementation would allow for concurrent executio...