[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] [PATCH] [RESEND] Merge vpsr.i with evtchn_upcall_mask tosolve one trickish bug
Per agreement on the summit, xen/ia64 will move to event channel model same as xen/x86, under which event is the layer under pirq (external interrupt), virq, and ipi with the latter three bound to event ports. Within that model, no external interrupt will be injected directly and evtchn_upcall_mask is the flag to control whether events are deliverable. So xenlinux needs to operate evtchn_upcall_mask at all places where it originally operates vpsr.i. However these two flags are presented at different shared area, and thus xenlinux can't ensure atomical update on two flags which leaves severe stability issues. One severe bug comes for this reason where some hypercall may be restarted infinitely when events pending. Actually based on description of future model, events become the superset of external interrupts and thus evtchn_upcall_mask super- set of vpsr.i (interrupt_delivery_enable). We can merge two flags into one by removing the latter. By this way, we ensure correctness and most importantly conform to common code which always assumes upon evtchn_upcall_mask. Signed-off-by Kevin Tian <kevin.tian@xxxxxxxxx> (Thanks for Isaku's comments) - Kevin Attachment:
merge_i_msk.patch _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |