From: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Fri, 19 Mar 2010 02:31:22 +0100 > On Thu, Mar 18, 2010 at 05:54:13PM -0700, David Miller wrote: >> From: Tejun Heo <tj@xxxxxxxxxx> >> Date: Thu, 18 Mar 2010 18:30:34 +0900 >> >> > >> > if (!total_profile_count) { >> > - buf = (char *)alloc_percpu(perf_trace_t); >> > + buf = (char *)__alloc_percpu(sizeof(perf_trace_t), >> > + __alignof__(unsigned long)); >> > if (!buf) >> > goto fail_buf; >> >> Why not make perf_trace_t have the proper alignment? > > > So, making perf_trace_t as align(8) would do the trick? > I lack the knowledge about alignment layout for archs that > need aligned accesses. > At a first glance, what I would except is that every buffer > has a base address aligned, no? Make it of the largest type that could appeat in a trace entry. I would use u64 so something like: u64 [FTRACE_MAX_PROFILE_SIZE / sizeof(u64)] -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html