[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC PATCH V2 3/8] xen: generalized event channel operations
>>> On 21.01.13 at 15:58, Wei Liu <wei.liu2@xxxxxxxxxx> wrote: > @@ -51,6 +51,27 @@ > #include <xen/interface/hvm/hvm_op.h> > #include <xen/interface/hvm/params.h> > > +/* N-level event channel, starting from 2 */ > +unsigned int evtchn_level = 2; > +EXPORT_SYMBOL_GPL(evtchn_level); > +unsigned int nr_event_channels; > +EXPORT_SYMBOL_GPL(nr_event_channels); > + > +struct evtchn_ops { > + unsigned long (*active_evtchns) (unsigned int cpu, > + struct shared_info *sh, > + unsigned int idx); > + void (*clear_evtchn) (int port); > + void (*set_evtchn) (int port); > + int (*test_evtchn) (int port); > + void (*mask_evtchn) (int port); > + void (*unmask_evtchn) (int port); > + int (*test_and_set_mask)(int port); > + void (*do_upcall) (void); > + irqreturn_t (*debug_interrupt) (int irq, void *dev_id); > +}; > +static struct evtchn_ops *eops; static const struct evtchn_ops *__read_mostly eops; And of course neither here nor in the hypervisor side patches I'm convinced the added level of indirection (and the necessarily resulting amount of code duplication) is really the best approach (afaict some of the affected code paths can be hot for interrupt intensive workloads), also with the consideration of what that would mean if further levels got added. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |