svn commit: r323564 - head/sys/vm
Mark Johnston
markj at FreeBSD.org
Wed Sep 13 21:54:39 UTC 2017
Author: markj
Date: Wed Sep 13 21:54:37 2017
New Revision: 323564
URL: https://svnweb.freebsd.org/changeset/base/323564
Log:
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
Modified:
head/sys/vm/uma_int.h
Modified: head/sys/vm/uma_int.h
==============================================================================
--- head/sys/vm/uma_int.h Wed Sep 13 21:21:33 2017 (r323563)
+++ head/sys/vm/uma_int.h Wed Sep 13 21:54:37 2017 (r323564)
@@ -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 */
More information about the svn-src-all
mailing list