Gregory Haskins wrote:
> On Thu, 2007-07-26 at 15:33 +0300, Avi Kivity wrote:
>
>
>> The suggestion I liked best (Anthony's) was
>>
>> struct vmx_vcpu {
>> struct kvm_vcpu vcpu;
>> void *vmcs;
>> // other vmx-specific data
>> };
>>
>> to move from a kvm_vcpu to a vmx_vcpu, you use container_of() (inside
>> your vmx() inline). Look ma, no pointers!
>>
>
> Hmm..well, you still have pointers. The advantage is that they are
> implicitly maintained, but now you have to do pointer arithmetic to
> compute it. :( I personally would probably rather have the explicit
> management code than the run-time overhead....
>
Well, the pointer arithmetic consists of adding or subtracting zero,
which gcc luckily knows how to deal with.
It's the equivalent of C++ inheritance; no overhead at all.
> But alas, the rest of Linux is moving in this direction as well, so I
> think this recommendation makes a lot of sense. Note that it
> complicates the initialization code a little bit, but its not a big
> deal. I will incorporate this into the next spin.
>
>
>
>> Too many people are touching this area without coordinating (and one
>> patch will invalidate all the rest).
>>
>
> Ah, I wasn't aware of this. Who else is working on it?
>
>
Paul Turner did something much like yours, and Rusty is working on
unraveling the vcpu array, which is complementary to this work.
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel