Andi Kleen <ak@xxxxxxx> writes: > 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 OK. So how about this? char stack_pps[POLL_STACK_ALLOC] __attribute__((aligned (sizeof(struct poll_list)))); -- OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> - : send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |