linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Hogan <james.hogan@imgtec.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-arch@vger.kernel.org,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Ingo Molnar <mingo@redhat.com>
Subject: Re: [RFC PATCH v1 04/40] trace/ring_buffer: handle 64bit aligned structs
Date: Wed, 31 Oct 2012 18:19:50 +0000	[thread overview]
Message-ID: <50916BC6.8080906@imgtec.com> (raw)
In-Reply-To: <1351706364.4004.87.camel@gandalf.local.home>

On 31/10/12 17:59, Steven Rostedt wrote:
> On Wed, 2012-10-31 at 16:13 +0000, James Hogan wrote:
>> Some 32 bit architectures have 64 bit struct alignment (for example
>> metag which has 64 bit read/write instructions). These require 8 byte
>> alignment of event data too, so use CONFIG_HAVE_64BIT_ALIGNED_STRUCT
>> instead of CONFIG_64BIT to decide alignment, and align
>> buffer_data_page::data accordingly.
> 
> Can you test if trace-cmd still reads this correctly.
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
> 
> Run a simple:
> 
>  trace-cmd record -e all sleep 2
>  trace-cmd report
> 
> and make sure that the events report correctly your arch (metag). I just
> want to make sure that it still reads the binary data correctly. I
> should as the /sys/kernel/debug/tracing/events/header_page should
> express the difference in the offset of data.

Hi Steven,

Will do, thanks for the suggestion.

> 
> Also, I wish you Cc'd LKML, as there's some changes I would have liked
> to look at, but I'm not subscribed to the linux-arch mailing list.

Sorry. I'll cc LKML for V2.

Thanks
James

> 
> -- Steve
> 
>>
>> Signed-off-by: James Hogan <james.hogan@imgtec.com>
>> Cc: Steven Rostedt <rostedt@goodmis.org>
>> Cc: Frederic Weisbecker <fweisbec@gmail.com>
>> Cc: Ingo Molnar <mingo@redhat.com>
>> ---
>>  kernel/trace/ring_buffer.c |    7 +++++--
>>  1 files changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
>> index 49491fa..15a63d8 100644
>> --- a/kernel/trace/ring_buffer.c
>> +++ b/kernel/trace/ring_buffer.c
>> @@ -177,7 +177,8 @@ void tracing_off_permanent(void)
>>  #define RB_MAX_SMALL_DATA	(RB_ALIGNMENT * RINGBUF_TYPE_DATA_TYPE_LEN_MAX)
>>  #define RB_EVNT_MIN_SIZE	8U	/* two 32bit words */
>>  
>> -#if !defined(CONFIG_64BIT) || defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
>> +#if !defined(CONFIG_HAVE_64BIT_ALIGNED_STRUCT) || \
>> +	defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
>>  # define RB_FORCE_8BYTE_ALIGNMENT	0
>>  # define RB_ARCH_ALIGNMENT		RB_ALIGNMENT
>>  #else
>> @@ -185,6 +186,8 @@ void tracing_off_permanent(void)
>>  # define RB_ARCH_ALIGNMENT		8U
>>  #endif
>>  
>> +#define RB_ALIGN_DATA		__aligned(RB_ARCH_ALIGNMENT)
>> +
>>  /* define RINGBUF_TYPE_DATA for 'case RINGBUF_TYPE_DATA:' */
>>  #define RINGBUF_TYPE_DATA 0 ... RINGBUF_TYPE_DATA_TYPE_LEN_MAX
>>  
>> @@ -333,7 +336,7 @@ EXPORT_SYMBOL_GPL(ring_buffer_event_data);
>>  struct buffer_data_page {
>>  	u64		 time_stamp;	/* page time stamp */
>>  	local_t		 commit;	/* write committed index */
>> -	unsigned char	 data[];	/* data of buffer page */
>> +	unsigned char	 data[] RB_ALIGN_DATA;	/* data of buffer page */
>>  };
>>  
>>  /*
> 
> 

  reply	other threads:[~2012-10-31 18:20 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-31 16:13 [RFC PATCH v1 00/40] Meta Linux Kernel Port James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 01/40] asm-generic/io.h: remove asm/cacheflush.h include James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 02/40] asm-generic/unistd.h: handle symbol prefixes in cond_syscall James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 03/40] Add CONFIG_HAVE_64BIT_ALIGNED_STRUCT for taskstats James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 04/40] trace/ring_buffer: handle 64bit aligned structs James Hogan
2012-10-31 17:59   ` Steven Rostedt
2012-10-31 18:19     ` James Hogan [this message]
2012-11-01 17:32     ` Will Newton
2012-11-01 19:30       ` Steven Rostedt
2012-10-31 16:13 ` [RFC PATCH v1 05/40] Revert some of "binfmt_elf: cleanups" James Hogan
2012-11-01 13:25   ` Mikael Pettersson
2012-11-01 13:25     ` Mikael Pettersson
2012-11-01 13:52     ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 06/40] of/vendor-prefixes: add Imagination Technologies James Hogan
2012-11-01  1:38   ` Rob Herring
2012-11-01  9:20     ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 07/40] metag: Add MAINTAINERS entry James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 08/40] metag: Boot James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 11/40] metag: Signal handling James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 12/40] metag: Build infrastructure James Hogan
2012-10-31 19:35   ` Sam Ravnborg
2012-10-31 21:34     ` James Hogan
2012-11-02  9:40     ` James Hogan
2012-11-02 17:01       ` Sam Ravnborg
2012-11-09 14:46   ` Arnd Bergmann
2012-11-09 14:55     ` James Hogan
2012-11-20 15:06     ` James Hogan
2012-11-20 15:43       ` Arnd Bergmann
2012-11-20 16:01         ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 13/40] metag: Device tree James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 14/40] metag: Ptrace James Hogan
2012-11-08  7:17   ` Jonas Bonn
2012-11-09  9:26     ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 15/40] metag: Time keeping James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 16/40] metag: Traps James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 17/40] metag: IRQ handling James Hogan
2012-11-09 14:12   ` Arnd Bergmann
2012-11-20 16:08     ` James Hogan
2012-11-20 16:15       ` Arnd Bergmann
2012-12-18 13:25         ` James Hogan
2012-12-19 15:58           ` Arnd Bergmann
2012-12-20 10:14             ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 18/40] metag: System Calls James Hogan
2012-11-09 14:20   ` Arnd Bergmann
2012-11-22 12:01     ` James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 19/40] metag: Scheduling/Process management James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 20/40] metag: Module support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 21/40] metag: Atomics, locks and bitops James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 22/40] metag: Basic documentation James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 23/40] metag: SMP support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 24/40] metag: DMA James Hogan
2012-11-09 14:25   ` Arnd Bergmann
2012-11-23 15:53     ` James Hogan
2012-11-23 16:20       ` James Hogan
2012-11-23 16:47         ` Arnd Bergmann
2013-01-09 16:04           ` James Hogan
2013-01-09 16:04             ` James Hogan
2013-01-09 16:08             ` Arnd Bergmann
2012-11-23 16:47       ` Arnd Bergmann
2012-10-31 16:14 ` [RFC PATCH v1 25/40] metag: optimised library functions James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 26/40] metag: Stack unwinding James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 27/40] metag: various other headers James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 28/40] metag: Perf James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 29/40] metag: ftrace support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 30/40] scripts/checkstack.pl: Add metag support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 31/40] char: don't build rtc or genrtc on METAG James Hogan
2012-11-01 15:39   ` Greg KH
2012-11-01 17:33     ` James Hogan
2012-11-09 14:38       ` Arnd Bergmann
2012-10-31 16:14 ` [RFC PATCH v1 32/40] i8042: don't build " James Hogan
2012-11-09 14:28   ` Arnd Bergmann
2012-11-16 11:06     ` James Hogan
2012-11-16 15:20       ` Arnd Bergmann
2012-11-16 16:19         ` Geert Uytterhoeven
2012-11-16 16:43           ` Arnd Bergmann
2012-11-16 16:50         ` James Hogan
2012-11-16 17:20           ` Arnd Bergmann
2012-10-31 16:14 ` [RFC PATCH v1 33/40] parport: " James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 34/40] musb: don't redefine {read,write}s{l,w,b} on metag James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 35/40] vga console: don't build on METAG James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 36/40] metag: OProfile James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 37/40] metag: Various sysfs drivers James Hogan
2012-10-31 19:30   ` Greg KH
2012-10-31 19:41     ` James Hogan
2012-11-09 14:32       ` Arnd Bergmann
2012-11-09 14:35         ` James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 38/40] metag: add JTAG Debug Adapter (DA) support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 39/40] tty/metag_da: add metag DA TTY driver James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 40/40] fs: dafs: Add DAFS filesystem for metag James Hogan
2012-10-31 16:42   ` Al Viro
2012-10-31 19:39     ` James Hogan
2012-10-31 19:39       ` James Hogan
2012-10-31 19:55   ` Myklebust, Trond
2012-10-31 19:55     ` Myklebust, Trond
2012-10-31 21:39     ` James Hogan
2012-10-31 21:39       ` James Hogan
2012-11-02  9:33     ` James Hogan
2012-11-02  9:33       ` James Hogan
2012-10-31 16:26 ` [RFC PATCH v1 00/40] Meta Linux Kernel Port James Hogan
2012-11-09 15:06   ` Arnd Bergmann
2012-11-09 15:21     ` James Hogan
2012-11-09 15:58       ` Arnd Bergmann
2012-11-09 16:20         ` James Hogan
2012-11-09 21:55           ` Arnd Bergmann
2012-11-09 23:28             ` James Hogan
2012-11-12 16:59           ` James Hogan
2012-11-12 19:10             ` Arnd Bergmann
2012-11-13  9:43               ` James Hogan
2012-11-13  9:55                 ` Arnd Bergmann
2012-10-31 22:33 ` Tony Breeds
2012-11-01 11:42   ` James Hogan
2012-11-01 23:28     ` Tony Breeds
2012-11-09 16:52     ` James Hogan
2012-11-09 15:16 ` Arnd Bergmann
2012-11-09 16:06   ` James Hogan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50916BC6.8080906@imgtec.com \
    --to=james.hogan@imgtec.com \
    --cc=fweisbec@gmail.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).