Widen uk_pgoff, the slab header offset field.
16 bits is only wide enough for kegs with an item size of up to 64KB. At that size or larger, slab headers are typically offpage because the item size is a multiple of the page size, but there is no requirement that this be the case. We can widen the field without affecting the layout of struct uma_keg since the removal of uk_slabsize in r315077 left an adjacent hole. PR: 218911 MFC after: 2 weeks
This commit is contained in:
parent
e82e50e681
commit
2d54d4bb9f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=323564
@ -210,7 +210,7 @@ struct uma_keg {
|
||||
vm_offset_t uk_kva; /* Zone base KVA */
|
||||
uma_zone_t uk_slabzone; /* Slab zone backing us, if OFFPAGE */
|
||||
|
||||
uint16_t uk_pgoff; /* Offset to uma_slab struct */
|
||||
uint32_t uk_pgoff; /* Offset to uma_slab struct */
|
||||
uint16_t uk_ppera; /* pages per allocation from backend */
|
||||
uint16_t uk_ipers; /* Items per slab */
|
||||
uint32_t uk_flags; /* Internal flags */
|
||||
|
Loading…
Reference in New Issue
Block a user