[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v1] x86/hvm: Generic instruction re-execution mechanism for execute faults



On Thu, Nov 22, 2018 at 09:50:28AM +0000, Alexandru Stefan ISAILA wrote:
> 
> On 21.11.2018 20:55, Razvan Cojocaru wrote:
> >> +            if ( a == v )
> >> +                continue;
> >> +
> >> +            /* Pause, synced. */
> >> +            while ( !a->arch.in_host )
> > Why not use a->is_running as a way to know whether the vCPU is
> > running?
> > 
> > I think the logic of using vcpu_pause and expecting the running vcpu
> > to take a vmexit and thus set in_host is wrong because a vcpu that
> > wasn't running when vcpu_pause_nosync is called won't get scheduled
> > anymore, thus not taking a vmexit and this function will lockup.
> 
> We can resolve this by using while ( !vcpu_runnable(a) && 
> !a->arch.in_host ), if this is suitable.

I'm afraid that without a reason why the generic vcpu_pause is not
suitable here adding more code to it is just papering over the real
issue.

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.