Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (R)
Guardian Procedure Calls Reference Manual522629-013
13-72
RESIZESEGMENT Procedure
A call to RESIZESEGMENT causes disk extents to be allocated or deallocated (for
file-backed segments), or page reservations to be increased or decreased (for
KMSF-backed segments) in the following ways:
Because segment resizing is an extremely resource intensive operation, users
should design their applications so that RESIZESEGMENT is not frequently called.
A good rule of thumb is to call RESIZESEGMENT only when changing the size of
an extended data segment by more than 128 KB. Changes that resize an
extended data segment by less that 20% should also be avoided.
A shared extended data segment may be resized to a larger size.
RESIZESEGMENT does not permit a currently shared extended data segment to
be made smaller.
Type of
segment
At segment
allocate
At memory
access
At segment resize
File-backed
non-
extensible
segment
File extents
are
completely
allocated.
Number of
allocated
extents does
not change.
Growing: additional
extents are allocated.
Shrinking: old extents
are deallocated
(subject to change).
File-backed
extensible
segment
One file
extent is
allocated
(subject to
change).
Additional
extents are
allocated.
Growing: no additional
extents are allocated.
Shrinking: old extents
are deallocated
(subject to change).
KMSF-
backed non-
extensible
segment
All pages are
reserved at
the maximum
size.
Number of
allocated
pages does
not change.
Growing: the number of
pages reserved is
adjusted to the new
size.
Shrinking: the number
of pages reserved is
reduced (subject to
change).
KMSF-
backed
extensible
segment
One page is
reserved at
the maximum
size (subject
to change).
Additional
pages are
reserved.
Growing: no additional
pages are reserved.
Shrinking: the number
of pages reserved is
reduced if the new size
is less than the highest
address of accessed
memory (subject to
change).