Re: [PATCH 06/12] KVM: x86: API changes for SMM support

From: Paolo Bonzini
Date: Thu May 21 2015 - 17:22:06 EST




On 21/05/2015 18:26, Radim KrÄmÃÅ wrote:
> 2015-05-21 16:59+0200, Paolo Bonzini:
>> On 21/05/2015 16:49, Radim KrÄmÃÅ wrote:
>>> 2015-05-08 13:20+0200, Paolo Bonzini:
>>>> diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
>>>> @@ -202,7 +202,7 @@ struct kvm_run {
>>>> __u32 exit_reason;
>>>> __u8 ready_for_interrupt_injection;
>>>> __u8 if_flag;
>>>> - __u8 padding2[2];
>>>> + __u16 flags;
>>>
>>> (It got lost last review and I'd really like to know ...
>>> what is the advantage of giving both bytes to flags?)
>>
>> No advantage. You just should leave padding2[1] in the middle so that
>> the offset of &run->padding2[0] doesn't change.
>
> I don't get that. The position of padding should be decided by
> comparing probabilities of extending 'if_flag' and 'flags'.
>
>> Since it's not obvious
>> I gave two bytes to flags, but I can do it either way.
>
> if_flag seems to be set in stone as one bit, so I'd vote for
>
> __u8 flags;
> __u8 padding2;
>
> (Or 'padding3', to prevent the same class of errors that removing it
> altogether does; which we didn't do for other tailed padding).

You're right that we didn't do it. I'll change it to flags + padding2.

Paolo

> For there isn't much space left in struct kvm ...
>
--
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/