MPS issue job001709

TitleVM Arena uses up zones too quickly.
Assigned userRichard Brooksby
DescriptionVM Arena uses up zones too quickly.

The segment allocation policy of the arena will use up all the zones
before it decides to get any more (reserved) address space from the
operating system. This is inflexible and wrong.

It's wrong because the current policy will result in multiple
generations sharing one or more zones in their genZoneSet preferences
(which can lead to suboptimal segment placement).

It's inflexible because there's some tradeoff to be made between using
up another zone (or the first use of any given zone) and getting more
address from the operating system. Both zones and address space are a
valuable resource neither one should be consumed lightly.

Related to this is the fact that the once a zone has been "used" by a
generation it can never become unused. This is job job001707.

This is also related to placement policy, job001708, in that a segment
could be placed in an entirely new area of address space (new chunk) as
opposed to a new zone.
AnalysisIt's difficult to measure the trade-off. But it should at least be
easier for MPS developers to fiddle with it.

Code is in VMAlocPolicy in arenavm.c (where the actual truth is a
little bit different, see barge flag).
How foundunknown
EvidenceI just know.
Observed in1.108.0
Created byDavid Jones
Created on2007-09-07 15:39:20
Last modified byRichard Brooksby
Last modified on2013-06-16 07:23:10
History2007-09-06 DRJ Created.
2013-03-19 GDR Assigned to RB.
2013-06-16 RB Downgraded to "nice" as there is no evidence that this is affecting anyone (see job003499).