On Mon, 6 May 2002, Dave Jones wrote:
> On Mon, May 06, 2002 at 06:17:00PM +0100, Peter Denison wrote:
> > The ALIGN macro is defined centrally - remove the local version
> They aren't functionally equivalent though are they?
Eek. I thought they were.
-#define ALIGN4 ((u_long)4 - 1) /* 1 longword align */
-#define ALIGN8 ((u_long)8 - 1) /* 2 longword (quadword) align */
-#define ALIGN ALIGN8 /* Keep the LANCE happy... */
- offset = (offset + ALIGN) & ~ALIGN;
+ offset = ALIGN(offset, 8);
And from include/linux/cache.h:
#define ALIGN(x,a) (((x)+(a)-1)&~((a)-1))
So, we're replacing (offset + 8 - 1) & ~(8-1) = (offset + 7) & ~7
with (((offset)+(8)-1)&~((8)-1)) = ((offset+7)&~7)
I think they're the same, aren't they, except for the promotion to u_long,
which is probably bogus anyway?
-- Peter Denison <peterd at marshadder dot uklinux dot net> Please note that my address is changing from <peterd at pnd-pc dot demon.co.uk>
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to firstname.lastname@example.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Tue May 07 2002 - 22:00:28 EST