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

Re: [Xen-devel] Is it safe to assume that v == current in hvm_do_resume()?



On 22/10/14 09:11, Razvan Cojocaru wrote:
> Hello,
>
> As far as I've understood the code, and based on several tests, it would
> appear that in xen/arch/x86/hvm/hvm.c, the struct vcpu *v parameter to
> hvm_do_resume() is always equal to current.
>
> Is that a reasonable assumption to make? I could have missed some use
> cases for the function.

The calls look like this:

{vmx,svm}_do_resume is the schedule_tail function pointer, which is a
no-return function and called on the way out of a context switch.

They call hvm_do_resume() followed by a reset_stack_and_jump() to
{vmx,svm}_asm_do_vmentry.

So yes - you can be guaranteed that the v in hvm_do_resume() is current.

If you do come to explicitly rely on this behaviour, and it is in any
way unclear, it might be worth introducing an ASSERT(v == current) near
to the expectation.

~Andrew


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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