Thomas Gleixner <tglx@xxxxxxxxxxxxx> writes: > Vivek Goyal <vgoyal@xxxxxxxxxx> writes: > > and the host completion injection which handles the queued completion > when guest IF=0 does: obviously IF=1 ... > > struct ve_page *vp = vcpu->ve_page; > > vp->host_current = idx; > inject_ve_complete(vcpu); > > The guest completion does: > > struct ve_page *vp = this_cpu_ptr(&ve_page); > struct ve_info *info; > > info = vp->info + vp->host_current; > rcuwait_wake_up(&info->wait); > > There are a bunch of life time issues to think about (not rocket > science), but you get the idea. > > Thanks, > > tglx