Re: [PATCH 09/10] Change table chaining layout

From: Geert Uytterhoeven
Date: Mon Oct 22 2007 - 15:39:54 EST


On Mon, 22 Oct 2007, Jens Axboe wrote:
> Change the page member of the scatterlist structure to be an unsigned
> long, and encode more stuff in the lower bits:
>
> - Bits 0 and 1 zero: this is a normal sg entry. Next sg entry is located
> at sg + 1.
> - Bit 0 set: this is a chain entry, the next real entry is at ->page_link
> with the two low bits masked off.
> - Bit 1 set: this is the final entry in the sg entry. sg_next() will return
> NULL when passed such an entry.

Better safe than sorry...

Is it possible that a chain entry pointer has bit 1 set on architectures
(e.g. m68k) where the natural alignment of 32-bit quantities is _2_ bytes,
not 4?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
-
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/