Why Huge pages must be enabled to boot a FreeBSD VM?

Nathan Whitehorn nwhitehorn at freebsd.org
Mon Nov 7 21:57:56 UTC 2016



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 at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
> To unsubscribe, send any mail to "freebsd-ppc-unsubscribe at 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


More information about the freebsd-ppc mailing list