Messages in this thread | | | Subject | Re: [PATCH 04/15] ftrace: pack event structures. | From | Steven Rostedt <> | Date | Wed, 09 Mar 2011 10:18:04 -0500 |
| |
On Tue, 2011-03-08 at 22:39 -0800, David Miller wrote: > From: Steven Rostedt <rostedt@goodmis.org> > Date: Tue, 08 Mar 2011 18:30:03 -0500 > > > I'm going back through this patch set and looking to incorporate it into > > 2.6.39. But I know how touchy sparc is with "packed" data structures. Do > > you see this patch as hurting sparc? > > > > I wonder if we should change this to something like: > > > > #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS > > # define do_event_packed __attirbute__((packed)) > > #else > > # define do_event_packed > > #endif > > > > and use "do_event_packed" instead? > > I think you should elide packed at all costs, and instead tell the compiler > what your intentions are by exposing the real types using unions or > similar instead of hiding it in an opaque way behind final char[] arrays.
The problem here is not the issue of char[] but because of the way ftrace's header was 12 bytes and caused everything that had a 8byte word use another 4 bytes to align it. As I stated in another email, I think removing the "int lock_depth" from the ftrace header should solve this.
David (Sharp), the reason for the "packed" was because of that extra 4 bytes in the ftrace header, right? So removing the lock_depth should fix the issues that you've seen?
-- Steve
| |