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

From: Radim KrÄmÃÅ
Date: Thu May 21 2015 - 12:27:12 EST


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).

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/