mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
rhashtable: Drop gfp_flags arg in insert/remove functions
Reallocation is only required for shrinking and expanding and both rely on a mutex for synchronization and callers of rhashtable_init() are in non atomic context. Therefore, no reason to continue passing allocation hints through the API. Instead, use GFP_KERNEL and add __GFP_NOWARN | __GFP_NORETRY to allow for silent fall back to vzalloc() without the OOM killer jumping in as pointed out by Eric Dumazet and Eric W. Biederman. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
64bb7e9949
commit
6eba82248e
4 changed files with 26 additions and 33 deletions
|
@ -99,16 +99,16 @@ int rhashtable_init(struct rhashtable *ht, struct rhashtable_params *params);
|
|||
u32 rhashtable_hashfn(const struct rhashtable *ht, const void *key, u32 len);
|
||||
u32 rhashtable_obj_hashfn(const struct rhashtable *ht, void *ptr);
|
||||
|
||||
void rhashtable_insert(struct rhashtable *ht, struct rhash_head *node, gfp_t);
|
||||
bool rhashtable_remove(struct rhashtable *ht, struct rhash_head *node, gfp_t);
|
||||
void rhashtable_insert(struct rhashtable *ht, struct rhash_head *node);
|
||||
bool rhashtable_remove(struct rhashtable *ht, struct rhash_head *node);
|
||||
void rhashtable_remove_pprev(struct rhashtable *ht, struct rhash_head *obj,
|
||||
struct rhash_head __rcu **pprev, gfp_t flags);
|
||||
struct rhash_head __rcu **pprev);
|
||||
|
||||
bool rht_grow_above_75(const struct rhashtable *ht, size_t new_size);
|
||||
bool rht_shrink_below_30(const struct rhashtable *ht, size_t new_size);
|
||||
|
||||
int rhashtable_expand(struct rhashtable *ht, gfp_t flags);
|
||||
int rhashtable_shrink(struct rhashtable *ht, gfp_t flags);
|
||||
int rhashtable_expand(struct rhashtable *ht);
|
||||
int rhashtable_shrink(struct rhashtable *ht);
|
||||
|
||||
void *rhashtable_lookup(const struct rhashtable *ht, const void *key);
|
||||
void *rhashtable_lookup_compare(const struct rhashtable *ht, u32 hash,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue