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 */
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to