Skip to content

Commit

Permalink
qht: constify qht_lookup
Browse files Browse the repository at this point in the history
seqlock_read_begin takes a const param since c04649e
("seqlock: constify seqlock_read_begin", 2018-08-23), so
we can constify the entire lookup.

Signed-off-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
  • Loading branch information
cota authored and rth7680 committed Sep 26, 2018
1 parent 9650ad3 commit e6c5829
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
4 changes: 2 additions & 2 deletions include/qemu/qht.h
Expand Up @@ -104,7 +104,7 @@ bool qht_insert(struct qht *ht, void *p, uint32_t hash, void **existing);
* Returns the corresponding pointer when a match is found.
* Returns NULL otherwise.
*/
void *qht_lookup_custom(struct qht *ht, const void *userp, uint32_t hash,
void *qht_lookup_custom(const struct qht *ht, const void *userp, uint32_t hash,
qht_lookup_func_t func);

/**
Expand All @@ -115,7 +115,7 @@ void *qht_lookup_custom(struct qht *ht, const void *userp, uint32_t hash,
*
* Calls qht_lookup_custom() using @ht's default comparison function.
*/
void *qht_lookup(struct qht *ht, const void *userp, uint32_t hash);
void *qht_lookup(const struct qht *ht, const void *userp, uint32_t hash);

/**
* qht_remove - remove a pointer from the hash table
Expand Down
16 changes: 8 additions & 8 deletions util/qht.c
Expand Up @@ -236,7 +236,7 @@ static inline void qht_head_init(struct qht_bucket *b)
}

static inline
struct qht_bucket *qht_map_to_bucket(struct qht_map *map, uint32_t hash)
struct qht_bucket *qht_map_to_bucket(const struct qht_map *map, uint32_t hash)
{
return &map->buckets[hash & (map->n_buckets - 1)];
}
Expand Down Expand Up @@ -482,10 +482,10 @@ bool qht_reset_size(struct qht *ht, size_t n_elems)
}

static inline
void *qht_do_lookup(struct qht_bucket *head, qht_lookup_func_t func,
void *qht_do_lookup(const struct qht_bucket *head, qht_lookup_func_t func,
const void *userp, uint32_t hash)
{
struct qht_bucket *b = head;
const struct qht_bucket *b = head;
int i;

do {
Expand All @@ -509,7 +509,7 @@ void *qht_do_lookup(struct qht_bucket *head, qht_lookup_func_t func,
}

static __attribute__((noinline))
void *qht_lookup__slowpath(struct qht_bucket *b, qht_lookup_func_t func,
void *qht_lookup__slowpath(const struct qht_bucket *b, qht_lookup_func_t func,
const void *userp, uint32_t hash)
{
unsigned int version;
Expand All @@ -522,11 +522,11 @@ void *qht_lookup__slowpath(struct qht_bucket *b, qht_lookup_func_t func,
return ret;
}

void *qht_lookup_custom(struct qht *ht, const void *userp, uint32_t hash,
void *qht_lookup_custom(const struct qht *ht, const void *userp, uint32_t hash,
qht_lookup_func_t func)
{
struct qht_bucket *b;
struct qht_map *map;
const struct qht_bucket *b;
const struct qht_map *map;
unsigned int version;
void *ret;

Expand All @@ -545,7 +545,7 @@ void *qht_lookup_custom(struct qht *ht, const void *userp, uint32_t hash,
return qht_lookup__slowpath(b, func, userp, hash);
}

void *qht_lookup(struct qht *ht, const void *userp, uint32_t hash)
void *qht_lookup(const struct qht *ht, const void *userp, uint32_t hash)
{
return qht_lookup_custom(ht, userp, hash, ht->cmp);
}
Expand Down

0 comments on commit e6c5829

Please sign in to comment.