FreeBSD Bugzilla – Attachment 192017 Details for
Bug 227116
CURRENT doesn't boot with integer divide fault in uma_startup_count
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Add a case for a situation when zsize fits into slab space, but not after an alignment correction.
uma_startup.diff (text/plain), 925 bytes, created by
Gleb Smirnoff
on 2018-03-31 20:09:56 UTC
(
hide
)
Description:
Add a case for a situation when zsize fits into slab space, but not after an alignment correction.
Filename:
MIME Type:
Creator:
Gleb Smirnoff
Created:
2018-03-31 20:09:56 UTC
Size:
925 bytes
patch
obsolete
>Index: uma_core.c >=================================================================== >--- uma_core.c (revision 331844) >+++ uma_core.c (working copy) >@@ -1473,7 +1473,7 @@ keg_ctor(void *mem, int size, void *udata, int fla > if (keg->uk_flags & UMA_ZONE_CACHESPREAD) { > keg_cachespread_init(keg); > } else { >- if (keg->uk_size > (UMA_SLAB_SIZE - sizeof(struct uma_slab))) >+ if (keg->uk_size > UMA_SLAB_SPACE) > keg_large_init(keg); > else > keg_small_init(keg); >@@ -1820,9 +1820,11 @@ uma_startup_count(int vm_zones) > #endif > > /* Memory for the rest of startup zones, UMA and VM, ... */ >- if (zsize > UMA_SLAB_SIZE) >+ if (zsize > UMA_SLAB_SPACE) > pages += (zones + vm_zones) * > howmany(roundup2(zsize, UMA_BOOT_ALIGN), UMA_SLAB_SIZE); >+ else if (roundup2(zsize, UMA_BOOT_ALIGN) > UMA_SLAB_SPACE) >+ pages += zones; > else > pages += howmany(zones, > UMA_SLAB_SPACE / roundup2(zsize, UMA_BOOT_ALIGN));
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 227116
:
191980
|
191983
|
192014
|
192015
|
192017
|
192075
|
192077