Author: pfg
Date: Tue Feb 12 04:33:05 2019
New Revision: 344042
URL: https://svnweb.freebsd.org/changeset/base/344042

Log:
  UMA: unsign some variables related to allocation in hash_alloc().
  
  As a followup to r343673, unsign some variables related to allocation
  since the hashsize cannot be negative. This gives a bit more space to
  handle bigger allocations and avoid some implicit casting.
  
  While here also unsign uh_hashmask, it makes little sense to keep that
  signed.
  
  MFC after:    2 weeks
  Differential Revision:        https://reviews.freebsd.org/D19148

Modified:
  head/sys/vm/uma_core.c
  head/sys/vm/uma_int.h

Modified: head/sys/vm/uma_core.c
==============================================================================
--- head/sys/vm/uma_core.c      Tue Feb 12 03:32:40 2019        (r344041)
+++ head/sys/vm/uma_core.c      Tue Feb 12 04:33:05 2019        (r344042)
@@ -622,7 +622,7 @@ zone_timeout(uma_zone_t zone)
 static int
 hash_alloc(struct uma_hash *hash)
 {
-       int oldsize;
+       u_int oldsize;
        size_t alloc;
 
        oldsize = hash->uh_hashsize;
@@ -666,8 +666,8 @@ static int
 hash_expand(struct uma_hash *oldhash, struct uma_hash *newhash)
 {
        uma_slab_t slab;
-       int hval;
-       int i;
+       u_int hval;
+       u_int idx;
 
        if (!newhash->uh_slab_hash)
                return (0);
@@ -680,10 +680,10 @@ hash_expand(struct uma_hash *oldhash, struct uma_hash 
         * full rehash.
         */
 
-       for (i = 0; i < oldhash->uh_hashsize; i++)
-               while (!SLIST_EMPTY(&oldhash->uh_slab_hash[i])) {
-                       slab = SLIST_FIRST(&oldhash->uh_slab_hash[i]);
-                       SLIST_REMOVE_HEAD(&oldhash->uh_slab_hash[i], us_hlink);
+       for (idx = 0; idx < oldhash->uh_hashsize; idx++)
+               while (!SLIST_EMPTY(&oldhash->uh_slab_hash[idx])) {
+                       slab = SLIST_FIRST(&oldhash->uh_slab_hash[idx]);
+                       SLIST_REMOVE_HEAD(&oldhash->uh_slab_hash[idx], 
us_hlink);
                        hval = UMA_HASH(newhash, slab->us_data);
                        SLIST_INSERT_HEAD(&newhash->uh_slab_hash[hval],
                            slab, us_hlink);

Modified: head/sys/vm/uma_int.h
==============================================================================
--- head/sys/vm/uma_int.h       Tue Feb 12 03:32:40 2019        (r344041)
+++ head/sys/vm/uma_int.h       Tue Feb 12 04:33:05 2019        (r344042)
@@ -179,8 +179,8 @@ SLIST_HEAD(slabhead, uma_slab);
 
 struct uma_hash {
        struct slabhead *uh_slab_hash;  /* Hash table for slabs */
-       int             uh_hashsize;    /* Current size of the hash table */
-       int             uh_hashmask;    /* Mask used during hashing */
+       u_int           uh_hashsize;    /* Current size of the hash table */
+       u_int           uh_hashmask;    /* Mask used during hashing */
 };
 
 /*
@@ -453,7 +453,7 @@ static __inline uma_slab_t
 hash_sfind(struct uma_hash *hash, uint8_t *data)
 {
         uma_slab_t slab;
-        int hval;
+        u_int hval;
 
         hval = UMA_HASH(hash, data);
 
_______________________________________________
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