Subject: Re: what means: "extent_alloc_subregion: can't allocate region descriptor"
To: John Kohl <email@example.com>
From: Jason Thorpe <firstname.lastname@example.org>
Date: 06/15/1997 21:17:34
On Sun, 15 Jun 1997 22:44:59 -0400 (EDT)
John Kohl <email@example.com> wrote:
> 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. It will
also improve swap space allocation performance, because the allocator will
have fewer region descriptors to traverse.
In the mean time, you can try this and see if it helps. Edit
sys/vm/vm_swap.c, go to line 594, and remove the EX_NOCOALESCE flag.
> Any way to tell what region extent is being managed and complaining?
Yes... edit sys/kern/sube_extent.c, go to line 490, change the printf()
printf("extent_alloc_subregion: can't allocate"
" region descriptor (extent %s)\n", ex->ex_name);
Jason R. Thorpe firstname.lastname@example.org
NASA Ames Research Center Home: 408.866.1912
NAS: M/S 258-6 Work: 415.604.0935
Moffett Field, CA 94035 Pager: 415.428.6939