Daniel Phillips <[EMAIL PROTECTED]> wrote:
>
> @@ -103,31 +103,28 @@ struct dlm_lock_resource * __dlm_lookup_
>                                        const char *name,
>                                        unsigned int len)
>    {
>  -    unsigned int hash;
>  -    struct hlist_node *iter;
>  -    struct dlm_lock_resource *tmpres=NULL;
>       struct hlist_head *bucket;
>  +    struct hlist_node *list;
> 
>       mlog_entry("%.*s\n", len, name);
> 
>       assert_spin_locked(&dlm->spinlock);
>  +    bucket = dlm->lockres_hash + full_name_hash(name, len) % 
> DLM_HASH_BUCKETS;
> 
>  -    hash = full_name_hash(name, len);

err, you might want to calculate that hash outside the spinlock.

Maybe have a lock per bucket, too.

A 1MB hashtable is verging on comical.  How may data are there in total?


_______________________________________________
Ocfs2-devel mailing list
[email protected]
http://oss.oracle.com/mailman/listinfo/ocfs2-devel

Reply via email to