[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v8 3/3] xen/events: do some cleanups in evtchn_fifo_set_pending()
On 25.11.2020 11:51, Juergen Gross wrote: > --- a/xen/common/event_fifo.c > +++ b/xen/common/event_fifo.c > @@ -175,6 +175,18 @@ static void evtchn_fifo_set_pending(struct vcpu *v, > struct evtchn *evtchn) > return; > } > > + /* > + * Control block not mapped. The guest must not unmask an > + * event until the control block is initialized, so we can > + * just drop the event. > + */ > + if ( unlikely(!v->evtchn_fifo->control_block) ) > + { > + printk(XENLOG_G_WARNING > + "%pv has no FIFO event channel control block\n", v); > + return; > + } This results in bypassing the setting of PENDING and the possible call to evtchn_check_pollers(). It may in particular be the case that a very special purpose guest uses event channels just for waking up pollers, which - afaict - then doesn't require setting up a control block. To give an example, I could easily see an XTF test avoid that step if indeed it's unnecessary. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |