Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 31 Mar 2018 15:49:53 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 227116] CURRENT doesn't boot with integer divide fault in uma_startup_count
Message-ID:  <bug-227116-8-DCcs7S51jt@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-227116-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-227116-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D227116

--- Comment #11 from Konstantin Belousov <kib@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) =3D=3D 3984.

You have 2 14-core CPUs, hyperthreaded.  This gives mp_maxid =3D 2 * 2 * 14=
 =3D=3D
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) =3D=3D howmany(zon=
es, 0).=20
If you look at the definition of howmany, you will see the division by the
second arg.

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-227116-8-DCcs7S51jt>