|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: [PATCH] x86 hvm: fix missing ticks issue in c/s 20218
This patch is very dubious. It appears to break pt_process_missed_ticks()
logic for timer modes 0 and 1. When a VCPU gets rescheduled it will have
missed ticks folded into ->scheduled and ->pending_intr_nr fields, but since
you stomp on the logic for tracking pending_intr_nr, most of those missed
ticks will never get delivered.
I think the fix is to move the line 'pt->scheduled += pt->period' out of
pt_intr_post() and back into pt_timer_fn(). This is because you have
otherwise broken the invariant that pt->scheduled always gets incremented
along with pt->pending_intr_nr. All the rest of your 'fixes' are I think
merely working around that fundamental brokeness.
Please try moving that one line and see if the bug goes away.
-- Keir
On 25/09/2009 05:37, "Kouya Shimura" <kouya@xxxxxxxxxxxxxx> wrote:
> Although c/s 20229 fixes missing ticks issue in c/s 20218,
> it's not enough.
>
> - set a timer to the next period more straightforwardly.
> - fix an unexpected behavior of both timer_mode=2 and timer_mode=3.
> extra interrupts might be delivered to a guest.
>
> Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|