[PATCH] hashtable: add hash_for_each_possible_rcu_notrace()

Alexey Kardashevskiy aik at ozlabs.ru
Tue Jul 23 12:28:09 EST 2013


Anyone, ping. Is it good, bad, ugly (ack/nack)? Thanks!

Is there any "trivial patches" list? Could not find it on vger.


On 07/15/2013 08:04 PM, Alexey Kardashevskiy wrote:
> Anyone, ping?
> 
> On 07/06/2013 02:16 PM, Alexey Kardashevskiy wrote:
>> This adds hash_for_each_possible_rcu_notrace() which is basically
>> a notrace clone of hash_for_each_possible_rcu() which cannot be
>> used in real mode due to its tracing/debugging capability.
>>
>> Signed-off-by: Alexey Kardashevskiy <aik at ozlabs.ru>
>> ---
>>  include/linux/hashtable.h | 15 +++++++++++++++
>>  1 file changed, 15 insertions(+)
>>
>> diff --git a/include/linux/hashtable.h b/include/linux/hashtable.h
>> index a9df51f..af8b169 100644
>> --- a/include/linux/hashtable.h
>> +++ b/include/linux/hashtable.h
>> @@ -174,6 +174,21 @@ static inline void hash_del_rcu(struct hlist_node *node)
>>  		member)
>>  
>>  /**
>> + * hash_for_each_possible_rcu_notrace - iterate over all possible objects hashing
>> + * to the same bucket in an rcu enabled hashtable in a rcu enabled hashtable
>> + * @name: hashtable to iterate
>> + * @obj: the type * to use as a loop cursor for each entry
>> + * @member: the name of the hlist_node within the struct
>> + * @key: the key of the objects to iterate over
>> + *
>> + * This is the same as hash_for_each_possible_rcu() except that it does
>> + * not do any RCU debugging or tracing.
>> + */
>> +#define hash_for_each_possible_rcu_notrace(name, obj, member, key)	\
>> +	hlist_for_each_entry_rcu_notrace(obj, &name[hash_min(key, HASH_BITS(name))],\
>> +		member)
>> +
>> +/**
>>   * hash_for_each_possible_safe - iterate over all possible objects hashing to the
>>   * same bucket safe against removals
>>   * @name: hashtable to iterate
>>
> 
> 


-- 
Alexey


More information about the Linuxppc-dev mailing list