[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Remove a set operation for VCPU_KICK_SOFTIRQ when post interrupt to vm.
I believe this also has something to do with a windows guest boot hang issue. It randomly occured, when boot a guest has windows 2008 os and pv-driver installed. The boot process hangs when wait xenstored replay event signal. It can be reproduced after hundreds reboot using the xen staging branch. But after I changed this code the hang issue can not reproduce. Any Ideas? On 2015/9/7 22:46, - wrote: From: liuqiming 00178499 <john.liuqiming@xxxxxxxxxx> This set operation doesn't make any sense, and it will block later interrupt injected into vm (by vcpu_kick or deliver_posted_intr), which will cause a performance issue on CPU supporting posted-interrupt. Signed-off-by: Qiming Liu <john.liuqiming@xxxxxxxxxx> Cc: Yang Zhang <yang.z.zhang@xxxxxxxxx> --- xen/arch/x86/hvm/vmx/vmx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index 2582cdd..9480b44 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -1681,7 +1681,7 @@ static void __vmx_deliver_posted_interrupt(struct vcpu *v) { unsigned int cpu = v->processor;- if ( !test_and_set_bit(VCPU_KICK_SOFTIRQ, &softirq_pending(cpu))+ if ( !test_bit(VCPU_KICK_SOFTIRQ, &softirq_pending(cpu)) && (cpu != smp_processor_id()) ) send_IPI_mask(cpumask_of(cpu), posted_intr_vector); } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |