Browse Source

MT#55283 look up bufferpool shard from metadata

Use the pointer we stored as metadata to quickly look up the respective
shard.

Change-Id: I01c39d9dbe229bb9bd98d90efb95adfe076e426d
pull/1923/head
Richard Fuchs 9 months ago
parent
commit
d43575dc06
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      lib/bufferpool.c

+ 3
- 3
lib/bufferpool.c View File

@ -181,10 +181,10 @@ static struct bpool_shard **bpool_find_shard_ptr(void *p) {
return bsearch(p, bpool_shards->pdata, bpool_shards->len,
sizeof(*bpool_shards->pdata), bpool_shard_cmp);
}
// bpool_shards_lock must be held
static struct bpool_shard *bpool_find_shard(void *p) {
struct bpool_shard **sp = bpool_find_shard_ptr(p);
return sp ? *sp : NULL;
struct bpool_shard **head = (struct bpool_shard **) ((size_t) p & BUFFERPOOL_TOP_MASK);
return *head;
}
static void bpool_shard_destroy(struct bpool_shard *shard) {


Loading…
Cancel
Save