From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Piggin Subject: Re: [PATCH 01/17] kernel: add bl_list Date: Sat, 16 Oct 2010 18:55:21 +1100 Message-ID: <20101016075521.GJ19147@amd> References: <1285762729-17928-1-git-send-email-david@fromorbit.com> <1285762729-17928-2-git-send-email-david@fromorbit.com> <20100929215208.b0206460.akpm@linux-foundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Dave Chinner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org To: Andrew Morton Return-path: Content-Disposition: inline In-Reply-To: <20100929215208.b0206460.akpm@linux-foundation.org> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Wed, Sep 29, 2010 at 09:52:08PM -0700, Andrew Morton wrote: > On Wed, 29 Sep 2010 22:18:33 +1000 Dave Chinner wrote: > > > From: Nick Piggin > > > > Introduce a type of hlist that can support the use of the lowest bit > > in the hlist_head. This will be subsequently used to implement > > per-bucket bit spinlock for inode hashes. > > > > > > ... > > > > +static inline void INIT_HLIST_BL_NODE(struct hlist_bl_node *h) > > +{ > > + h->next = NULL; > > + h->pprev = NULL; > > +} > > No need to shout. Just following the rest of the lists. > > ... > > > > +static inline void hlist_bl_del(struct hlist_bl_node *n) > > +{ > > + __hlist_bl_del(n); > > + n->next = LIST_POISON1; > > + n->pprev = LIST_POISON2; > > +} > > I'd suggest creating new poison values for hlist_bl's, leave > LIST_POISON1 and LIST_POISON2 for list_head (and any other list > variants which went and used them :() I guess they're used for lists, hlists, nulls lists. Would it really help much seeing as you have so many lists anyway? I guess we could do an incremental patch but I'll postpone it for now.