[Bug 227116] CURRENT doesn't boot with integer divide fault in uma_startup_count

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Mar 31 15:49:55 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227116

--- Comment #11 from Konstantin Belousov <kib at FreeBSD.org> ---
(In reply to Konstantin Belousov from comment #8)
In fact it is clear where the things get broken:

UMA_SLAB_SPACE is UMA_SLAB_SIZE - sizeof(struct uma_slab) == 3984.

You have 2 14-core CPUs, hyperthreaded.  This gives mp_maxid = 2 * 2 * 14 ==
56.  Number of vm_domains is 2.
Then zsize, according to gdb, is 3984.

UMA_BOOT_ALIGN is 32, and roundup2(zsize, UMA_BOOT_ALIGN) is 4000.

So kernel tries to calculate howmany(zones, 3984 / 4000) == howmany(zones, 0). 
If you look at the definition of howmany, you will see the division by the
second arg.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list