lkml.org 
[lkml]   [2008]   [Jan]   [27]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 27 Jan 2008 07:45:54 +0100 (CET)
From"Fabio M. Di Nitto" <>
SubjectRe: [PATCH 06/19] dlm: align midcomms message buffer
On Sat, 26 Jan 2008, Andrew Morton wrote:

>> On Thu, 24 Jan 2008 10:50:29 -0600 David Teigland <teigland@redhat.com> wrote:
>> From: Fabio M. Di Nitto <fabbione@ubuntu.com>
>>
>> gcc does not guarantee that a static buffer is 64bit aligned. This change
>> allows sparc64 to work.
>>
>
> This buffer is not static: changelog needs fixing: s/static/auto/

thanks

>
>> ---
>>  fs/dlm/midcomms.c |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/fs/dlm/midcomms.c b/fs/dlm/midcomms.c
>> index f8c69dd..da653b5 100644
>> --- a/fs/dlm/midcomms.c
>> +++ b/fs/dlm/midcomms.c
>> @@ -58,7 +58,7 @@ static void copy_from_cb(void *dst, const void *base, unsigned offset,
>>  int dlm_process_incoming_buffer(int nodeid, const void *base,
>>  				unsigned offset, unsigned len, unsigned limit)
>>  {
>> -	unsigned char __tmp[DLM_INBUF_LEN];
>> +	unsigned char __tmp[DLM_INBUF_LEN] __attribute__((aligned(64)));
>>  	struct dlm_header *msg = (struct dlm_header *) __tmp;
>>  	int ret = 0;
>>  	int err = 0;
>
> Why does DLM require that this thing be 64-bit aligned?

i spotted this running on sparc64 and the kernel was both complaning about 
TSP not being aligned and the data on the other side of the wire were 
wrong.

> It all looks rather ugly.  Can't this stuff be implemeted within the C type
> system somehow?

Yes, i will rework it.

Thanks for the feedback.

Fabio

--
I'm going to make him an offer he can't refuse.


\
 
 \ /
  Last update: 2008-01-27 08:21    [from the cache]
©2003-2008