On 18.07.23 14:31, Rahul Singh wrote:
Hello Rahul > Xen 4.17 supports the creation of static evtchns. To allow user space > application to bind static evtchns introduce new ioctl > "IOCTL_EVTCHN_BIND_STATIC". Existing IOCTL doing more than binding > that’s why we need to introduce the new IOCTL to only bind the static > event channels. > > Static evtchns to be available for use during the lifetime of the > guest. When the application exits, __unbind_from_irq() ends up being > called from release() file operations because of that static evtchns > are getting closed. To avoid closing the static event channel, add the > new bool variable "is_static" in "struct irq_info" to mark the event > channel static when creating the event channel to avoid closing the > static evtchn. > > Also, take this opportunity to remove the open-coded version of the > evtchn close in drivers/xen/evtchn.c file and use xen_evtchn_close(). > > Signed-off-by: Rahul Singh <rahul.si...@arm.com> > --- > v3: > * Remove the open-coded version of the evtchn close in drivers/xen/evtchn.c Thanks! Looks like there is one unmentioned change in change-log since v2: * Make sure that evtchn hasn't been added yet before binding it in evtchn_ioctl():case IOCTL_EVTCHN_BIND_STATIC Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshche...@epam.com> > v2: > * Use bool in place u8 to define is_static variable. > * Avoid closing the static evtchns in error path. > --- [snip]