svn commit: r344363 - stable/11/sys/vm
Pedro F. Giffuni
pfg at FreeBSD.org
Wed Feb 20 14:12:26 UTC 2019
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);
More information about the svn-src-stable
mailing list