|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-ia64-devel
RE: [Xen-ia64-devel] [PATCH] xentrace buffer alignment
 
Hi, Kanno,
        First there's no need to add "align" for struct t_rec since theirs is a 
uint64_t field inside which promises 8 bytes alignment by compiler.
        Then I'm curious why unaligned fault is raised upon the second 
structure t_buf.  Since all 3 fields inside are unsigned integer, I think 
there's no need to push any manual alignment to them. The caller should walk 
these fields by defined type. ;-)
Thanks,
Kevin
>-----Original Message-----
>From: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
>[mailto:xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Masaki Kanno
>Sent: 2005年11月24日 12:36
>To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
>Subject: [Xen-ia64-devel] [PATCH] xentrace buffer alignment
>
>Hi,
>
>When the "tbuf_size=" option was added,
>Xen cannot be booted and show the following messages.
>
>(XEN) About to call init_trace_bufs()
>(XEN) Xen trace buffers: initialised
>(XEN) About to call schedulers_start dom0=f0000000040ec100,
>idle0_dom=f0000000040d2e10
>(XEN) ia64_handle_reflection: reflecting with priv=0!!
>
>Unaligned Reference fault occurred in trace function.
>This small patch correct alignment of the trace buffer.
>
>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 11:43:40 2005
>@@ -58,7 +58,11 @@
>     uint64_t cycles;          /* cycle counter timestamp */
>     uint32_t event;           /* event ID                */
>     unsigned long data[5];    /* event data items        */
>+#ifdef __ia64__
>+} __attribute__((__aligned__(8)));
>+#else
> };
>+#endif
>
> /*
>  * This structure contains the metadata for a single trace buffer.  The head
>@@ -69,7 +73,11 @@
>     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.    */
>+#ifdef __ia64__
>+} __attribute__((__aligned__(8)));
>+#else
> };
>+#endif
>
> #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
 
  
 
 
 |  
  
 | 
    | 
  
  
    |   | 
    |