From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Date: Wed, 30 Mar 2005 11:14:39 +0000 Subject: Re: [PATCH] Pageset Localization V2 Message-Id: <20050330111439.GA13110@infradead.org> List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Christoph Lameter Cc: Manfred Spraul , Andrew Morton , linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org, linux-mm@kvack.org, shai@scalex86.org > +#define MAKE_LIST(list, nlist) \ > + do { \ > + if(list_empty(&list)) \ > + INIT_LIST_HEAD(nlist); \ > + else { nlist->next->prev = nlist; \ > + nlist->prev->next = nlist; \ > + } \ > + }while(0) This is horrible. Where are the nlist pointers supposed to point to? What's so magic you need the INIT_LIST_HEAD only conditionally?