|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[Xen-devel] struct shared_info extensibility (or lack thereof)
 
While looking at "steal" cpu time accounting, I am running
into problems with struct shared_info.  Right now it looks
like I need to modify struct shared_info, but this is not
possible in a backwards compatible way.
I think we should change struct shared_info to be extensible,
so we can expand it at a future date without breaking the
interface.  Right now (before 3.0) would be the best time to
change the data structure to something extensible.
I am thinking it should look something like this:
struct shared_info {
        single variables;
        padding[];
        { vcpu_data, vcpu_time, padding[] }  [ MAX_VIRT_CPUS ];
}
The reason for putting the vcpu_* structures together on a per
virtual cpu basis is that this way we can extend the number of
virtual CPUs in the future, without breaking the interface with
older guests.
The current stared_info struct of two [MAX_VIRT_CPUS] arrays
followed by the single variables is just impossible to extend
in the future.
Any objections to changing the interface now ?
-- 
All Rights Reversed
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- [Xen-devel] struct shared_info extensibility (or lack thereof),
Rik van Riel <=
 
 
 |  
  
 | 
    | 
  
  
    |   | 
    |