Subject: Re: what means: "extent_alloc_subregion: can't allocate region descriptor"
To: None <firstname.lastname@example.org, email@example.com>
From: Paul Kranenburg <firstname.lastname@example.org>
Date: 06/16/1997 17:39:51
> > I saw about 4 of these just now:
> > extent_alloc_subregion: can't allocate region descriptor
> > I haven't seen this before. Is this likely connected with recent (1.2G)
> > changes, or just my bad luck that it's starting now.
> Looks like it's because the individual extent maps for swap devices
> are currently non-coalescing, like the old rmaps that managed swap used
> to be. I have suggested to Matthew Green that he make them coalescing maps.
> If they coalesce, there should be no shortage of region descriptors, because
> the extent manager's allocator will make allocations contiguous, if
> possible, thus causing fewer region descriptors to be allocated
I made it a non-coalescing map in an attempt to avoid malloc()s while in swap_alloc().
This turned out to not work smoothly unless you're prepared to pre-allocate lots
of extent descriptors.
Extreme memory shortage can wedge the swap system if you allow blocking malloc()s.
Coalescing maps also risks blocking in swap_free() (or losing swap blocks if you