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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andi Kleen <[email protected]> writes:

> On Friday 31 March 2006 18:37, OGAWA Hirofumi wrote:
>> Jes Sorensen <[email protected]> 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 <[email protected]>
-
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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux