Why does this macro take port as an argument? It does not look like the port argument is used in the macro. I want to implement a blocking synchronization primitive in the hypervisor where the invoking vcpu will relinquish the CPU; and the execution would resume out of the blocking primitive when the vcpu is "woken up". The _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Please ignore the earlier mail on this subject from me. The mail was sent out before it was completed! Why does this macro take port as an argument? It does not look like the port argument is used in the macro. I want to implement a blocking synchronization primitive in the hypervisor where the invoking vcpu will relinquish the CPU; and the execution would resume out of the blocking primitive when the vcpu is "woken up". The wait_on_xen_event_channel appeared to be what I wanted on "switch out" side; however when the vcpu is awakened the execution is not restored where I thought it would be. Regards, K. Y _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 7/3/07 23:40, "Ky Srinivasan" <ksrinivasan@novell.com> wrote:> Why does this macro take port as an argument?It''s logically a part of the interface for callers, but it turns out that, at least right now, a simple implementation that can completely ignore the port argument works just fine. That may change in future.> It does not look like the port > argument is used in the macro. I want to implement a blocking synchronization > primitive in the hypervisor where the invoking vcpu will relinquish the CPU; > and the execution would resume out of the blocking primitive when the vcpu is > "woken up". The wait_on_xen_event_channel appeared to be what I wanted on > "switch out" side; however when the vcpu is awakened the execution is not > restored where I thought it would be.Since Xen/x86 doesn''t have per-vcpu Xen stacks, you have to manually create a continuation (somehow). Depending on what you want to do, we can probably add what it is you need. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Thanks Kier; I am prototyping a simple continuation scheme to support what I need. I will keep you posted. Regards, K. Y>>> On Thu, Mar 8, 2007 at 2:57 AM, in message<C2157250.37F8%Keir.Fraser@cl.cam.ac.uk>, Keir Fraser <Keir.Fraser@cl.cam.ac.uk> wrote:> On 7/3/07 23:40, "Ky Srinivasan" <ksrinivasan@novell.com> wrote: > >> Why does this macro take port as an argument? > > It''s logically a part of the interface for callers, but it turns out that, > at least right now, a simple implementation that can completely ignore the > port argument works just fine. That may change in future. > >> It does not look like the port >> argument is used in the macro. I want to implement a blocking > synchronization >> primitive in the hypervisor where the invoking vcpu will relinquish the CPU; >> and the execution would resume out of the blocking primitive when the vcpu > is >> "woken up". The wait_on_xen_event_channel appeared to be what I wanted on >> "switch out" side; however when the vcpu is awakened the execution is not >> restored where I thought it would be. > > Since Xen/x86 doesn''t have per- vcpu Xen stacks, you have to manually create > a continuation (somehow). Depending on what you want to do, we can probably > add what it is you need. > > -- Keir_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel