Re: [PATCH 11/18] fs: Introduce per-bucket inode hash locks

From: Christoph Hellwig
Date: Fri Oct 08 2010 - 14:54:15 EST


> +struct inode_hash_bucket {
> + struct hlist_bl_head head;
> +};
> +
> +static inline void spin_lock_bucket(struct inode_hash_bucket *b)
> +{
> + bit_spin_lock(0, (unsigned long *)b);
> +}
> +
> +static inline void spin_unlock_bucket(struct inode_hash_bucket *b)
> +{
> + __bit_spin_unlock(0, (unsigned long *)b);
> +}

I've looked at the dcache version of this again, and I really hate
duplicating these helpers in the dcache code aswell. IMHO they
should simple operate directly on the hlist_bl_head, as that's
what it was designed for. I also don't really see any point in
wrapping the hlist_bl_head as inode_hash_bucket. If the bucket naming
is important we could rename the hlist_bl stuff to bl_hash, and the
hlist_bl_head could become bl_hash_bucket.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/