From: Linus Torvalds <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/