Re: [PATCH 07/15] ftrace: fix event alignment: kvm:kvm_hv_hypercall

From: Avi Kivity
Date: Tue Dec 07 2010 - 04:23:12 EST


On 12/06/2010 10:38 PM, David Sharp wrote:
On Sat, Dec 4, 2010 at 12:11 AM, Avi Kivity<avi@xxxxxxxxxx> wrote:
> On 12/04/2010 02:13 AM, David Sharp wrote:
>>
>> Signed-off-by: David Sharp<dhsharp@xxxxxxxxxx>
>> ---
>> arch/x86/kvm/trace.h | 8 ++++----
>> 1 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h
>> index a6544b8..ab41fb0 100644
>> --- a/arch/x86/kvm/trace.h
>> +++ b/arch/x86/kvm/trace.h
>> @@ -62,21 +62,21 @@ TRACE_EVENT(kvm_hv_hypercall,
>> TP_ARGS(code, fast, rep_cnt, rep_idx, ingpa, outgpa),
>>
>> TP_STRUCT__entry(
>> - __field( __u16, code )
>> - __field( bool, fast )
>> __field( __u16, rep_cnt )
>> __field( __u16, rep_idx )
>> __field( __u64, ingpa )
>> __field( __u64, outgpa )
>> + __field( __u16, code )
>> + __field( bool, fast )
>> ),
>>
>
> Looks like a pessimisation.
>
> Before: 24 bytes
> After: 32 bytes
>
> (on a 64-bit machine, assuming no packing)

This patch is predicated on packing the event structures. And since
the ring buffer is 32-bit addressable, I don't attempt to improve
alignment beyond 32-bit boundaries.

I don't understand this. Can you elaborate? What does "32-bit addressable" mean? And "predicated on packing the event structures"? Is the structure __attribute__((packed)), or is it not?

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/