Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Nov 2016 13:46:27 -0800
From:      Nathan Whitehorn <nwhitehorn@freebsd.org>
To:        freebsd-ppc@freebsd.org
Subject:   Re: Why Huge pages must be enabled to boot a FreeBSD VM?
Message-ID:  <be945590-dc6a-ed4d-ccec-9339fe9d04f0@freebsd.org>
In-Reply-To: <0c4b5c7e-1078-4d42-426c-3091da17e501@br.ibm.com>
References:  <0c4b5c7e-1078-4d42-426c-3091da17e501@br.ibm.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On 11/07/16 11:40, Breno Leitao wrote:
> Hello,
>
> I am wondering why Huge pages must be enabled in the hypervisor (KVM) in
> order to boot FreeBSD as a guest.
>
> I was facing the issue below, and then I found that I didn't have enough huge
> pages available. Enabling the amount of huge pages available solved this issue.
>
>    Kernel entry at 0x1023c0 ...
>    panic: Page replacement error: -4
>    cpuid = 0
>    KDB: stack backtrace:
>    #0 0x6144fc at ??+0
>    #1 0x614598 at ??+0
>    #2 0xa7b078 at ??+0
>    #3 0xa31544 at ??+0
>    #4 0xa33010 at ??+0
>    #5 0xa7b480 at ??+0
>    #6 0xa6b2bc at ??+0
>    #7 0xa64c74 at ??+0
>    #8 0x102458 at ??+0
>    Uptime: 1s
>
>
> If huge pages is not enabled, is there a way to proceed with normal pages
> other than crashing the VM?
>
> Thank you,
> Breno
>
> _______________________________________________
> freebsd-ppc@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
> To unsubscribe, send any mail to "freebsd-ppc-unsubscribe@freebsd.org"
>

It is supposed to warn you about that in early boot, but I guess the 
warning is coming too late now. We should fix that.

The FreeBSD kernel on powerpc64 critically relies on huge pages to 
create a direct-mapped region for physical memory. It is hard, though 
not impossible, to change this, as it requires a comprehensive 
rearchitecture of much of the memory management code.
-Nathan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?be945590-dc6a-ed4d-ccec-9339fe9d04f0>