Hi all, In a mini-os domain A, I start a thread allocating an event channel: err = evtchn_alloc_unbound(remote_domid, experiment_handler, NULL, &port); and registered a handler. The err value is 0. The thread normally exits. While in another mini-os domain B, I start a thread binding that event channel: err = evtchn_bind_interdomain(remote_domid, remote_port, experiment_handler2, NULL, &port); and send a event: err = HYPERVISOR_event_channel_op(EVTCHNOP_send, &event); Both err is 0. The thread normally exits. but in the domain A, the event handler is not called. What is wrong with it? Thanks, shawn 2008-10-29 Y. D. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
I think you need an "EVTCHNOP_unmask" invocation for the port in domain A. -- Paul S. On Wed, Oct 29, 2008 at 9:47 AM, Y. D. <duyuyang@gmail.com> wrote:> Hi all, > > In a mini-os domain A, I start a thread allocating an event channel: > err = evtchn_alloc_unbound(remote_domid, experiment_handler, NULL, &port); > and registered a handler. The err value is 0. The thread normally exits. > > While in another mini-os domain B, I start a thread binding that event > channel: > err = evtchn_bind_interdomain(remote_domid, remote_port, experiment_handler2, NULL, &port); > > and send a event: > err = HYPERVISOR_event_channel_op(EVTCHNOP_send, &event); Both err is 0. > The thread normally exits. > > but in the domain A, the event handler is not called. > > What is wrong with it? > > Thanks, > > shawn > > > 2008-10-29 > ------------------------------ > Y. D. > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > >-- _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Great. -- Paul S. On Wed, Oct 29, 2008 at 11:17 AM, Y. D. <duyuyang@gmail.com> wrote:> It worked. I totally forgot that. > Thank you very much. > > shawn > ------------------ > Y. D. > 2008-10-29 > > ------------------------------------------------------------- > From:Paul Samon > Date:2008-10-29 10:12:43 > To:Y. D. > Cc:xen-devel > Subject:Re: [Xen-devel] mini-os: a event channel experiment > > I think you need an "EVTCHNOP_unmask" invocation for the port in domain A. > > -- Paul S. > On Wed, Oct 29, 2008 at 9:47 AM, Y. D. <duyuyang@gmail.com> wrote: > > > Hi all, > > > > In a mini-os domain A, I start a thread allocating an event channel: > > err = evtchn_alloc_unbound(remote_domid, experiment_handler, NULL, > &port); > > and registered a handler. The err value is 0. The thread normally exits. > > > > While in another mini-os domain B, I start a thread binding that event > > channel: > > err = evtchn_bind_interdomain(remote_domid, remote_port, > experiment_handler2, NULL, &port); > > > > and send a event: > > err = HYPERVISOR_event_channel_op(EVTCHNOP_send, &event); Both err is 0. > > The thread normally exits. > > > > but in the domain A, the event handler is not called. > > > > What is wrong with it? > > > > Thanks, > > > > shawn > > > > > > 2008-10-29 > > ------------------------------ > > Y. D. > > > > _______________________________________________ > > Xen-devel mailing list > > Xen-devel@lists.xensource.com > > http://lists.xensource.com/xen-devel > > > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel