xen-ia64-devel
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,
kan
-----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 compiler
directive 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 alignment
for ia64 forgotten?
I meant to add padding bytes like "char padding[4]" with warning to
developer that 8 bytes alignment should be promised.
But 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.
;-)
Thanks,
Kevin
Signed-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
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-ia64-devel] [PATCH] xentrace buffer alignment, Masaki Kanno
- RE: [Xen-ia64-devel] [PATCH] xentrace buffer alignment, Tian, Kevin
- RE: [Xen-ia64-devel] [PATCH] xentrace buffer alignment, Tian, Kevin
- RE: [Xen-ia64-devel] [PATCH] xentrace buffer alignment, Tian, Kevin
- RE: [Xen-ia64-devel] [PATCH] xentrace buffer alignment, Tian, Kevin
- RE: [Xen-ia64-devel] [PATCH] xentrace buffer alignment, Tian, Kevin
- RE: [Xen-ia64-devel] [PATCH] xentrace buffer alignment, Tian, Kevin
- RE: [Xen-ia64-devel] [PATCH] xentrace buffer alignment, Tian, Kevin
|
|
|