[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel] [PATCH] xentrace buffer alignment
Why is explicit 8-byte alignment required? Does ia64 not guarantee to align 64-bit values on an 8-byte boundary? If not, then what instruction is it that requires this alignment -- there can't be very many, otherwise surely the compiler would enforce sufficient alignment? I'm not happy about adding alignment attributes to the header files, as it would be good to not make them gcc-specific. -- Keir On 24 Nov 2005, at 12:05, Masaki Kanno wrote: Hi, Kevin OK, I will send patch to the Xen-devel mailing list. Thanks, kanBut now I think your original ".align" approach may be easier without concern how many padding bytes need to be there on different architecture. So you can send out a patch with your original ".align" approach (but remove "ifdef __ia64__" to xen mailing list since it's a common code modification. Also please keep a comment to warn alignment requirement here.-----Original Message----- From: Masaki Kanno Sent: 2005定11埖24晩 17:21 Hi, Rob, Kevin,The alignment directive is necessary there since they're dynamically marked on an allocated buf. Or how about adding padding bytes to avoid using compilerdirective and ifdef? Then, still no need for "t_rec".Sorry, "t_rec" alignment is mistake. I thought "sizeof(t_rec) = 52 bytes".The patch was made on Kevin's idea.However, I'm worried. When someone adds other members to "t_buf", isn't alignmentfor ia64 forgotten?I meant to add padding bytes like "char padding[4]" with warning to developer that 8 bytes alignment should be promised.;-)Thanks, KevinSigned-off-by: Masaki Kanno <kanno.masaki@xxxxxxxxxxxxxx> Thanks, kan diff -r 51f32d60536b xen/include/public/trace.h --- a/xen/include/public/trace.h Fri Nov 18 00:35:14 2005 +++ b/xen/include/public/trace.h Thu Nov 24 18:04:31 2005 @@ -69,6 +69,7 @@unsigned int prod; /* Next item to be produced by Xen. */ unsigned int nr_recs; /* Number of records in this trace buffer. */ /* 'nr_recs' records follow immediately after the meta-data header. */ + unsigned int align_buf; /* 8 bytes alignment for ia64 */}; #endif /* __XEN_PUBLIC_TRACE_H__ */ _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |