superpages and kmem on amd64
zec at fer.hr
Sun May 20 23:29:52 UTC 2012
On Monday 21 May 2012 01:12:01 Alan Cox wrote:
> >>> BTW, apparently malloc(size, M_TEMP, M_NOWAIT) requests fail for size>
> >>> 1G, even at boot time. Any ideas how to circumvent that (8.3-STABLE,
> >>> amd64, 4G physical RAM)?
> >> I suspect that you need to increase the size of your kmem map.
> > Huh any hints how should I achieve that? In desperation I placed
> > vm.kmem_size=8G
> > in /boot/loader.conf and got this:
> > vm.kmem_map_free: 8123924480
> > vm.kmem_map_size: 8364032
> > vm.kmem_size_scale: 1
> > vm.kmem_size_max: 329853485875
> > vm.kmem_size_min: 0
> > vm.kmem_size: 8132288512
> > but malloc(2G) still fails...
> Here is at least one reason why it fails:
> void *
> uma_large_malloc(int size, int wait)
> Note the type of "size". Can you malloc 1GB?
Uff, good catch... malloc(1G) works, malloc(1.99G) works, malloc(2G) doesn't!
Anyhow, malloc(1G) is big enough for what I want to do ATM, I was just curious
why it breaks with bigger requests.
More information about the freebsd-amd64