WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH 10/17] vmx: nest: VMExit handler in L2

On Fri, 2010-05-21 at 16:42 +0800, Tim Deegan wrote:
> At 17:06 +0100 on 20 May (1274375166), Qing He wrote:
> > On Thu, 2010-05-20 at 19:44 +0800, Tim Deegan wrote:
> > > At 10:41 +0100 on 22 Apr (1271932882), Qing He wrote:
> > > > +    case EXIT_REASON_HLT:
> > > > +    case EXIT_REASON_RDTSC:
> > > > +    case EXIT_REASON_RDPMC:
> > > > +    case EXIT_REASON_MWAIT_INSTRUCTION:
> > > > +    case EXIT_REASON_PAUSE_INSTRUCTION:
> > > > +    case EXIT_REASON_MONITOR_INSTRUCTION:
> > > > +    case EXIT_REASON_DR_ACCESS:
> > > > +    case EXIT_REASON_INVLPG:
> > > > +    {
> > > > +        int i;
> > > > +
> > > > +        /* exit according to guest exec_control */
> > > > +        ctrl = __get_vvmcs(nest->vvmcs, CPU_BASED_VM_EXEC_CONTROL);
> > > > +
> > > > +        for ( i = 0; i < ARRAY_SIZE(control_bit_for_reason); i++ )
> > > > +            if ( control_bit_for_reason[i].reason == exit_reason )
> > > > +                break;
> > > 
> > > You've already got a switch statement - why not gate these individually
> > > rather than bundling them together and scanning an array?
> > > 
> > 
> > Well, they are the `regular' part of exit handling, a bit in the control
> > bitmap corresponds to their behavior
> 
> I understand that.  It just seems inefficient to bundle them all
> together into one clause of the switch statement and then scan an array
> looking for which one you've hit.  Wouldn't it be better to give each
> one its own clause and then use goto (!) or similar to jump to the
> common code?

Ok, I'll change it to switch clauses, does it mean to be more friendly to
the compiler?

Thanks,
Qing

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel