Re: [PATCH 0 of 3] create kvm_x86

Zhang, Xiantao
2007-11-21T09:42:41Z

Avi Kivity wrote:
> Carsten Otte wrote:
>> Hollis Blanchard wrote:
>>
>>> These patches are based on Xiantao's work to create struct kvm_x86.
>>> Patch 1 replaces his "KVM Portability split: Splitting kvm
>>> structure (V2)", and patches 2 and 3 build on it.
>>>
>> Looks like a clean approach with to to_kvm_x86 macro. Whole series:
>> Acked-by: Carsten Otte <cotte-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
>>
>>
>
> Well, I hate to say it, but the resulting code doesn't look too well
> (all the kvm_x86 variables), and it's entirely my fault as I
> recommended this approach. Not like it was difficult to predict.
>
> I'm thinking again of
>
> struct kvm {
> struct kvm_arch a;
> ...
> }

Agree. The kvm_arch approach is natural, and easy to understand. I
prefer it here.

> Where each arch defines its own kvm_arch. Now the changes look like a
> bunch of "kvm->blah" to "kvm->a.blah" conversions.

container_of approach has similar trobles, and has to use to_kvm_x86 to
translate "kvm" to "kvm_x86" for every arch-specific field access.

> IIRC a downside was mentioned that it is easier to cause a build
> failure for another arch now.

I can't figure out why it can cause more build failure.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.