|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
RE: [Xen-ia64-devel] [RFC][PATCH] hypercall_preempt_check() and psr.i
>From: Isaku Yamahata
>Sent: 2006年3月29日 22:05
>Hi.
>
>If a domain issues a hypercall with psr.i = 0 (balloon driver does)
>with event pending, a domain results in infinit loop.
>The attached patch is a work around by xen side.
>
>Another way is modifying domain. i.e. patching xen_set_virtual_psr_i().
>Which is better?
>
Hi, Isaku,
Seems we're shooting same issue by different way. In the beginning,
I also came up same simple approach as yours. However after more
thinking, I think it's better to tune xen/ia64 to adapt to common concept
where evtchn_upcall_mask is the flag whether events/interrupts can be injected
into guest. Or else we have to add similar #ifdef as yours time to
time, which especially only be observed when important bugs are tracked
down after many debugs.
Actually interrupt_delivery_enabled and evtchn_upcall_mask are two
duplicated flags serving for same purpose. So I sent out a patch in
another mail to remove the former while keeping the later. By doing this,
we can ensure correctness by providing one flag, and most important safe
for the future.
Another reason is for moving to event channel mechanism as we
discussed before on the list. Finally all pirq/virq/ipi/ will be bound to event
port, and at that time evtchn_upcall_mask is the only legible flag to be
checked.
Hope my explanation is clear here. :-)
Thanks,
Kevin
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
|
|
|
|