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

Re: [Xen-devel] The use of evtchn_upcall_mask



>>> On 21.09.12 at 15:12, Yaogun Wen <techno.geek.0x01@xxxxxxxxx> wrote:
> I think evtchn_set_pending() is the function to decide whether to make an
> event upcall to the guest, and the first patch is the last patch which I
> see evtchn_upcall_mask in evtchn_set_pending().

Setting an event channel pending isn't tied to the channel being
unmasked - in particular, for polled event channels, one would
keep them masked permanently, yet still expect events to be
signaled. The mask really controls whether an upcall is actually
permitted (just like EFLAGS.IF controls whether interrupts can
be injected).

> I don't know if i understand this part correctly, it seems
> that evtchn_upcall_mask is useless.
> Can somebody tell me the use of evtchn_upcall_mask?

If you're looking at current -unstable, then you may get
confused by c/s 25875:dd40b43f16bc ("x86: use only a single
branch for upcall-pending exit path checks") - this one removes
explicit uses of VCPUINFO_upcall_mask, leveraging the fact
that the field is adjacent to VCPUINFO_upcall_pending.

If you're looking at 4.2 or earlier, I'm unclear about your
confusion.

Jan


_______________________________________________
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®.