[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20071022.170741.41638232.davem@davemloft.net>
Date: Mon, 22 Oct 2007 17:07:41 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: torvalds@...ux-foundation.org
Cc: alan@...rguk.ukuu.org.uk, geert@...ux-m68k.org,
jens.axboe@...cle.com, linux-kernel@...r.kernel.org, mingo@...e.hu,
linux-m68k@...r.kernel.org
Subject: Re: [PATCH 09/10] Change table chaining layout
From: Linus Torvalds <torvalds@...ux-foundation.org>
Date: Mon, 22 Oct 2007 14:47:38 -0700 (PDT)
> On Mon, 22 Oct 2007, Alan Cox wrote:
>
> > Still doesn't answer the rather more important question - why not just
> > stick a NULL on the end instead of all the nutty hacks ?
>
> You still do need one bit for the discontiguous case, so it's not like you
> can avoid the hacks anyway (unless you just blow up the structure
> entirely) and make it a separate member). So once you have that
> bit+pointer, using a separate NULL entry isn't exactly prettier.
>
> Especially as we actally want to see the difference between
> "end-of-allocation" and "not yet filled in", so you shouldn't use NULL
> anyway, you should probably use something like "all-ones".
Indeed that's the crux of the matter, we need to express a trinary
state "end of scatterlist, next entry is linear, next entry is
indirect" plus a pointer for the indirect case.
Generally, Jens was doing a good job cooking up the patch that
implemented this fully and I took care of making sure tricky
ports like sparc64 built cleanly etc.
He went away for a few days, but when he gets back we should seriously
work on integrating his work.
I fully recognize Alan's m68k on-stack alignment concern. The on-stack
cases are troublesome in other ways as well, and I think therefore the
way to move forward is to convert those to some kind of dynamic scheme.
Usually such code is working in a locked context on some object
(crypto instance, for example) and thus the scatterlist chunk can
be embedded into that object for ensured alignment.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists