Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b2f309d authored by Herbert Xu's avatar Herbert Xu Committed by David S. Miller
Browse files

rhashtable: Move mutex_is_held under PROVE_LOCKING



The rhashtable function mutex_is_held is only used when PROVE_LOCKING
is enabled.  This patch makes the mutex_is_held field in rhashtable
optional depending on PROVE_LOCKING.

Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1f501d62
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -65,7 +65,9 @@ struct rhashtable_params {
						 size_t new_size);
	bool			(*shrink_decision)(const struct rhashtable *ht,
						   size_t new_size);
#ifdef CONFIG_PROVE_LOCKING
	int			(*mutex_is_held)(void);
#endif
};

/**
+8 −0
Original line number Diff line number Diff line
@@ -532,7 +532,9 @@ static size_t rounded_hashtable_size(struct rhashtable_params *params)
 *	.key_offset = offsetof(struct test_obj, key),
 *	.key_len = sizeof(int),
 *	.hashfn = arch_fast_hash,
 * #ifdef CONFIG_PROVE_LOCKING
 *	.mutex_is_held = &my_mutex_is_held,
 * #endif
 * };
 *
 * Configuration Example 2: Variable length keys
@@ -552,7 +554,9 @@ static size_t rounded_hashtable_size(struct rhashtable_params *params)
 *	.head_offset = offsetof(struct test_obj, node),
 *	.hashfn = arch_fast_hash,
 *	.obj_hashfn = my_hash_fn,
 * #ifdef CONFIG_PROVE_LOCKING
 *	.mutex_is_held = &my_mutex_is_held,
 * #endif
 * };
 */
int rhashtable_init(struct rhashtable *ht, struct rhashtable_params *params)
@@ -613,10 +617,12 @@ EXPORT_SYMBOL_GPL(rhashtable_destroy);
#define TEST_PTR	((void *) 0xdeadbeef)
#define TEST_NEXPANDS	4

#ifdef CONFIG_PROVE_LOCKING
static int test_mutex_is_held(void)
{
	return 1;
}
#endif

struct test_obj {
	void			*ptr;
@@ -767,7 +773,9 @@ static int __init test_rht_init(void)
		.key_offset = offsetof(struct test_obj, value),
		.key_len = sizeof(int),
		.hashfn = arch_fast_hash,
#ifdef CONFIG_PROVE_LOCKING
		.mutex_is_held = &test_mutex_is_held,
#endif
		.grow_decision = rht_grow_above_75,
		.shrink_decision = rht_shrink_below_30,
	};