Re: [patch] avoid unaligned access when accessing poll stack

From: Andi Kleen
Date: Fri Mar 31 2006 - 11:50:48 EST


On Friday 31 March 2006 18:37, OGAWA Hirofumi wrote:
> Jes Sorensen <jes@xxxxxxx> writes:
>
> > struct poll_list *walk;
> > struct fdtable *fdt;
> > int max_fdset;
> > - /* Allocate small arguments on the stack to save memory and be faster */
> > - char stack_pps[POLL_STACK_ALLOC];
> > + /* Allocate small arguments on the stack to save memory and be
> > + faster - use long to make sure the buffer is aligned properly
> > + on 64 bit archs to avoid unaligned access */
> > + long stack_pps[POLL_STACK_ALLOC/sizeof(long)];
> > struct poll_list *stack_pp = NULL;
>
> struct poll_list stack_pps[POLL_STACK_ALLOC / sizeof(struct poll_list)];
>
> is more readable, and probably gcc align it rightly?

Yes, but it would be wrong

-Andi

-
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/