Author: pfg
Date: Wed Feb 20 14:12:25 2019
New Revision: 344363
URL: https://svnweb.freebsd.org/changeset/base/344363

Log:
  MFC r344042:
  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 it
  signed.
  
  Differential Revision:        https://reviews.freebsd.org/D19148

Modified:
  stable/11/sys/vm/uma_core.c
  stable/11/sys/vm/uma_int.h
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/vm/uma_core.c
==============================================================================
--- stable/11/sys/vm/uma_core.c Wed Feb 20 14:10:46 2019        (r344362)
+++ stable/11/sys/vm/uma_core.c Wed Feb 20 14:12:25 2019        (r344363)
@@ -537,7 +537,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;
@@ -581,8 +581,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);
@@ -595,10 +595,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: stable/11/sys/vm/uma_int.h
==============================================================================
--- stable/11/sys/vm/uma_int.h  Wed Feb 20 14:10:46 2019        (r344362)
+++ stable/11/sys/vm/uma_int.h  Wed Feb 20 14:12:25 2019        (r344363)
@@ -144,8 +144,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 */
 };
 
 /*
@@ -386,7 +386,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-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to