Date: Sun, 1 Sep 2002 22:52:38 -0300 (ADT) From: "Marc G. Fournier" <scrappy@hub.org> To: Gregory Bond <gnb@itga.com.au> Cc: Matthew Dillon <dillon@apollo.backplane.com>, <freebsd-stable@FreeBSD.ORG> Subject: Re: Problems with FreeBSD - causing zalloc to return 0 ?! Message-ID: <20020901225155.E14529-100000@hub.org> In-Reply-To: <200209020145.LAA18441@lightning.itga.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
Okay, just to confirm, but kernel_vm_end gives me:
kernel_vm_end: 0xf1400000
and vm.kvm_free:
vm.kvm_free: 239075328
so I have 239Meg free? *raised eyebrow*
On Mon, 2 Sep 2002, Gregory Bond wrote:
> > If kernel_vm_end reaches 0xFFC00000 (or somewhere very close to
> > that), then you have run out of KVM.
>
> So how about a warning message when pmap_growkernel() sets it to something near
> this?
>
> [I'm no kernel hacker, but afaict printf() is legal at splhigh(). And I don't
> really know the sort of quantum that is passed to pmap_growkernel() so I'm not
> sure if 16Mb is too big or too small...]
>
> BTW: "sysctl vm.kvm_free" will show the number of bytes of free KVM so might
> be a better trick than gdb in the monitoring script.
>
> --- sys/i386/i386/pmap.c Fri Mar 15 13:52:54 2002
> +++ sys/i386/i386/pmap.c.warn Mon Sep 2 11:34:45 2002
> @@ -1468,6 +1468,15 @@
> }
> *pmap_pde(kernel_pmap, kernel_vm_end) = newpdir;
> kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
> +
> + /*
> + * Running kernel_vm_end to VM_MAX_KERNEL_ADDRESS is known to
> + * be fatal in confusing ways, so give a bit of a hint when
> + * we get near it so the crashes are less mysterious!
> + */
> +#define VM_KERN_WARNLEVEL 0x1000000
> + if (VM_MAX_KERNEL_ADDRESS - kernel_vm_end < VM_KERN_WARNLEVEL)
> + printf("warning: kernel VM space (0x%x) almost exhausted!", kernel_vm_end);
> }
> splx(s);
> }
>
>
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-stable" in the body of the message
>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020901225155.E14529-100000>
