flight 17716 xen-unstable real [real] http://www.chiark.greenend.org.uk/~xensrcts/logs/17716/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-amd64-xl-qemut-win7-amd64 8 guest-saverestore fail REGR. vs. 17714 test-amd64-amd64-xl-qemuu-winxpsp3 8 guest-saverestore fail REGR. vs. 17713 test-amd64-i386-xend-winxpsp3 8 guest-saverestore fail REGR. vs. 17714 test-amd64-amd64-xl-win7-amd64 8 guest-saverestore fail REGR. vs. 17714 test-amd64-i386-xl-win7-amd64 8 guest-saverestore fail REGR. vs. 17714 test-amd64-i386-xl-qemut-win7-amd64 8 guest-saverestore fail REGR. vs. 17714 test-amd64-amd64-xl-winxpsp3 8 guest-saverestore fail REGR. vs. 17714 test-amd64-amd64-xl-qemut-winxpsp3 8 guest-saverestore fail REGR. vs. 17714 test-amd64-i386-xl-qemut-winxpsp3-vcpus1 10 guest-saverestore.2 fail REGR. vs. 17714 test-amd64-i386-xend-qemut-winxpsp3 8 guest-saverestore fail REGR. vs. 17714 Tests which did not succeed, but are not blocking: test-amd64-amd64-xl-pcipt-intel 9 guest-start fail never pass test-amd64-i386-xl-winxpsp3-vcpus1 13 guest-stop fail never pass test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop fail never pass version targeted for testing: xen 8d266f6b2c5c3d2d0da42f1e40ba1fb2ac8fdf1a baseline version: xen 26c35e5cb93a7b4dcde940620eb7ac1845ed6e5a ------------------------------------------------------------ People who touched revisions under test: George Dunlap <george.dunlap@eu.citrix.com> (from a release perspective) Keir Fraser <keir@xen.org> Yang Zhang <yang.z.zhang@Intel.com> ------------------------------------------------------------ jobs: build-amd64 pass build-armhf pass build-i386 pass build-amd64-oldkern pass build-i386-oldkern pass build-amd64-pvops pass build-i386-pvops pass test-amd64-amd64-xl pass test-amd64-i386-xl pass test-amd64-i386-rhel6hvm-amd pass test-amd64-i386-qemut-rhel6hvm-amd pass test-amd64-i386-qemuu-rhel6hvm-amd pass test-amd64-amd64-xl-qemut-win7-amd64 fail test-amd64-i386-xl-qemut-win7-amd64 fail test-amd64-amd64-xl-qemuu-win7-amd64 fail test-amd64-amd64-xl-win7-amd64 fail test-amd64-i386-xl-win7-amd64 fail test-amd64-i386-xl-credit2 pass test-amd64-amd64-xl-pcipt-intel fail test-amd64-i386-rhel6hvm-intel pass test-amd64-i386-qemut-rhel6hvm-intel pass test-amd64-i386-qemuu-rhel6hvm-intel pass test-amd64-i386-xl-multivcpu pass test-amd64-amd64-pair pass test-amd64-i386-pair pass test-amd64-amd64-xl-sedf-pin pass test-amd64-amd64-pv pass test-amd64-i386-pv pass test-amd64-amd64-xl-sedf pass test-amd64-i386-xl-qemut-winxpsp3-vcpus1 fail test-amd64-i386-xl-winxpsp3-vcpus1 fail test-amd64-i386-xend-qemut-winxpsp3 fail test-amd64-amd64-xl-qemut-winxpsp3 fail test-amd64-amd64-xl-qemuu-winxpsp3 fail test-amd64-i386-xend-winxpsp3 fail test-amd64-amd64-xl-winxpsp3 fail ------------------------------------------------------------ sg-report-flight on woking.cam.xci-test.com logs: /home/xc_osstest/logs images: /home/xc_osstest/images Logs, config files, etc. are available at http://www.chiark.greenend.org.uk/~xensrcts/logs Test harness code can be found at http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary Not pushing. ------------------------------------------------------------ commit 8d266f6b2c5c3d2d0da42f1e40ba1fb2ac8fdf1a Author: Yang Zhang <yang.z.zhang@Intel.com> Date: Thu Apr 18 11:36:28 2013 +0200 VMX: Use posted interrupt to deliver virutal interrupt Deliver virtual interrupt through posted way if posted interrupt is enabled. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Reviewed-by: Jun Nakajima <jun.nakajima@intel.com> Acked-by: Keir Fraser <keir@xen.org> Acked-by: George Dunlap <george.dunlap@eu.citrix.com> (from a release perspective) commit 04015d6326f17e4aafb32593b94dac44b72ef4c1 Author: Yang Zhang <yang.z.zhang@Intel.com> Date: Thu Apr 18 11:35:43 2013 +0200 x86/HVM: Call vlapic_set_irq() to delivery virtual interrupt Move kick_vcpu into vlapic_set_irq. And call it to deliver virtual interrupt instead set vIRR directly. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Acked-by: Keir Fraser <keir@xen.org> Acked-by: George Dunlap <george.dunlap@eu.citrix.com> (from a release perspective) commit d7dafa375bc13772e2e3274d975d544af4208939 Author: Yang Zhang <yang.z.zhang@Intel.com> Date: Thu Apr 18 11:34:49 2013 +0200 VMX: Add posted interrupt supporting Add the supporting of using posted interrupt to deliver interrupt. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Reviewed-by: Jun Nakajima <jun.nakajima@intel.com> Acked-by: Keir Fraser <keir@xen.org> Acked-by: George Dunlap <george.dunlap@eu.citrix.com> (from a release perspective) commit 1c0ac49b1d6c3d54fc1f75661742a988ca7cf255 Author: Yang Zhang <yang.z.zhang@Intel.com> Date: Thu Apr 18 11:34:04 2013 +0200 VMX: Turn on posted interrupt bit in vmcs Turn on posted interrupt for vcpu if posted interrupt is avaliable. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Reviewed-by: Jun Nakajima <jun.nakajima@intel.com> Acked-by: Keir Fraser <keir@xen.org> Acked-by: George Dunlap <george.dunlap@eu.citrix.com> (from a release perspective) commit b266924990af96ee47ee299e1b6bb87fac2e2548 Author: Yang Zhang <yang.z.zhang@Intel.com> Date: Thu Apr 18 11:32:02 2013 +0200 VMX: Detect posted interrupt capability Check whether the Hardware supports posted interrupt capability. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Reviewed-by: Jun Nakajima <jun.nakajima@intel.com> Acked-by: Keir Fraser <keir@xen.org> Acked-by: George Dunlap <george.dunlap@eu.citrix.com> (from a release perspective) (qemu changes not included)
>>> On 18.04.13 at 18:12, xen.org <ian.jackson@eu.citrix.com> wrote: > flight 17716 xen-unstable real [real] > http://www.chiark.greenend.org.uk/~xensrcts/logs/17716/ > > Regressions :-( > > Tests which did not succeed and are blocking, > including tests which could not be run: > test-amd64-amd64-xl-qemut-win7-amd64 8 guest-saverestore fail REGR. vs. 17714 > test-amd64-amd64-xl-qemuu-winxpsp3 8 guest-saverestore fail REGR. vs. 17713 > test-amd64-i386-xend-winxpsp3 8 guest-saverestore fail REGR. vs. 17714 > test-amd64-amd64-xl-win7-amd64 8 guest-saverestore fail REGR. vs. 17714 > test-amd64-i386-xl-win7-amd64 8 guest-saverestore fail REGR. vs. 17714 > test-amd64-i386-xl-qemut-win7-amd64 8 guest-saverestore fail REGR. vs. 17714 > test-amd64-amd64-xl-winxpsp3 8 guest-saverestore fail REGR. vs. 17714 > test-amd64-amd64-xl-qemut-winxpsp3 8 guest-saverestore fail REGR. vs. 17714 > test-amd64-i386-xl-qemut-winxpsp3-vcpus1 10 guest-saverestore.2 fail REGR. vs. 17714 > test-amd64-i386-xend-qemut-winxpsp3 8 guest-saverestore fail REGR. vs. 17714There are floods of (host side!) APIC errors in the logs, and it the posted interrupt series seems the most likely reason for this. I''ll try to look into this in more detail, but input from you on possible reasons would be greatly appreciated. Of course I can''t fully exclude that with the little bit of cleanup I did to your patches I screwed up something... Jan
>>> On 19.04.13 at 10:38, "Jan Beulich" <JBeulich@suse.com> wrote: >>>> On 18.04.13 at 18:12, xen.org <ian.jackson@eu.citrix.com> wrote: >> flight 17716 xen-unstable real [real] >> http://www.chiark.greenend.org.uk/~xensrcts/logs/17716/ >> >> Regressions :-( >> >> Tests which did not succeed and are blocking, >> including tests which could not be run: >> test-amd64-amd64-xl-qemut-win7-amd64 8 guest-saverestore fail REGR. vs. 17714 >> test-amd64-amd64-xl-qemuu-winxpsp3 8 guest-saverestore fail REGR. vs. 17713 >> test-amd64-i386-xend-winxpsp3 8 guest-saverestore fail REGR. vs. 17714 >> test-amd64-amd64-xl-win7-amd64 8 guest-saverestore fail REGR. vs. 17714 >> test-amd64-i386-xl-win7-amd64 8 guest-saverestore fail REGR. vs. 17714 >> test-amd64-i386-xl-qemut-win7-amd64 8 guest-saverestore fail REGR. vs. 17714 >> test-amd64-amd64-xl-winxpsp3 8 guest-saverestore fail REGR. vs. 17714 >> test-amd64-amd64-xl-qemut-winxpsp3 8 guest-saverestore fail REGR. vs. 17714 >> test-amd64-i386-xl-qemut-winxpsp3-vcpus1 10 guest-saverestore.2 fail REGR. vs. 17714 >> test-amd64-i386-xend-qemut-winxpsp3 8 guest-saverestore fail REGR. vs. 17714 > > There are floods of (host side!) APIC errors in the logs, and it > the posted interrupt series seems the most likely reason for > this. I''ll try to look into this in more detail, but input from you > on possible reasons would be greatly appreciated. Of course I > can''t fully exclude that with the little bit of cleanup I did to your > patches I screwed up something...So I guess its the send_IPI_mask() here: static void __vmx_deliver_posted_interrupt(struct vcpu *v) { bool_t running = v->is_running; vcpu_unblock(v); if ( running && (in_irq() || (v != current)) ) { unsigned int cpu = v->processor; if ( !test_and_set_bit(VCPU_KICK_SOFTIRQ, &softirq_pending(cpu)) && (cpu != smp_processor_id()) ) send_IPI_mask(cpumask_of(cpu), posted_intr_vector); } } Which is supposed to be unreachable on systems that don''t support posted interrupts, but if ( cpu_has_vmx_posted_intr_processing ) alloc_direct_apic_vector(&posted_intr_vector, event_check_interrupt); else { hvm_funcs.deliver_posted_intr = NULL; hvm_funcs.sync_pir_to_irr = NULL; } adjusts the wrong pointers because of the subsequent return &vmx_function_table; Hence I guess the below fix is needed. Jan VMX: adjust correct table when there''s no posted interrupt support The caller of start_vmx() will overwrite hvm_funcs, so there''s no point in adjusting that table in start_vmx(). Signed-off-by: Jan Beulich <jbeulich@suse.com> --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -1587,8 +1587,8 @@ struct hvm_function_table * __init start alloc_direct_apic_vector(&posted_intr_vector, event_check_interrupt); else { - hvm_funcs.deliver_posted_intr = NULL; - hvm_funcs.sync_pir_to_irr = NULL; + vmx_function_table.deliver_posted_intr = NULL; + vmx_function_table.sync_pir_to_irr = NULL; } setup_vmcs_dump();
Jan Beulich wrote on 2013-04-19:>>>> On 19.04.13 at 10:38, "Jan Beulich" <JBeulich@suse.com> wrote: >>>>> On 18.04.13 at 18:12, xen.org <ian.jackson@eu.citrix.com> wrote: >>> flight 17716 xen-unstable real [real] >>> http://www.chiark.greenend.org.uk/~xensrcts/logs/17716/ >>> >>> Regressions :-( >>> >>> Tests which did not succeed and are blocking, >>> including tests which could not be run: >>> test-amd64-amd64-xl-qemut-win7-amd64 8 guest-saverestore fail REGR. >>> vs. 17714 test-amd64-amd64-xl-qemuu-winxpsp3 8 guest-saverestore >>> fail REGR. vs. 17713 test-amd64-i386-xend-winxpsp3 8 >>> guest-saverestore fail REGR. vs. 17714 >>> test-amd64-amd64-xl-win7-amd64 8 guest-saverestore fail REGR. >>> vs. 17714 test-amd64-i386-xl-win7-amd64 8 guest-saverestore >>> fail REGR. vs. 17714 test-amd64-i386-xl-qemut-win7-amd64 8 >>> guest-saverestore fail REGR. vs. 17714 test-amd64-amd64-xl-winxpsp3 >>> 8 guest-saverestore fail REGR. vs. 17714 >>> test-amd64-amd64-xl-qemut-winxpsp3 8 guest-saverestore fail REGR. >>> vs. 17714 test-amd64-i386-xl-qemut-winxpsp3-vcpus1 10 >>> guest-saverestore.2 fail REGR. vs. 17714 >>> test-amd64-i386-xend-qemut-winxpsp3 8 guest-saverestore fail REGR. > vs. 17714 >> >> There are floods of (host side!) APIC errors in the logs, and it >> the posted interrupt series seems the most likely reason for >> this. I''ll try to look into this in more detail, but input from you >> on possible reasons would be greatly appreciated. Of course I >> can''t fully exclude that with the little bit of cleanup I did to your >> patches I screwed up something... > > So I guess its the send_IPI_mask() here: > > static void __vmx_deliver_posted_interrupt(struct vcpu *v) > { > bool_t running = v->is_running; > > vcpu_unblock(v); > if ( running && (in_irq() || (v != current)) ) > { > unsigned int cpu = v->processor; > > if ( !test_and_set_bit(VCPU_KICK_SOFTIRQ, &softirq_pending(cpu)) > && (cpu != smp_processor_id()) ) > send_IPI_mask(cpumask_of(cpu), posted_intr_vector); > } > } > > Which is supposed to be unreachable on systems that don''t > support posted interrupts, but > > if ( cpu_has_vmx_posted_intr_processing ) > alloc_direct_apic_vector(&posted_intr_vector, > event_check_interrupt); > else > { > hvm_funcs.deliver_posted_intr = NULL; > hvm_funcs.sync_pir_to_irr = NULL; > } > adjusts the wrong pointers because of the subsequent > > return &vmx_function_table; > Hence I guess the below fix is needed. > > Jan > > VMX: adjust correct table when there''s no posted interrupt support > > The caller of start_vmx() will overwrite hvm_funcs, so there''s no point > in adjusting that table in start_vmx(). > > Signed-off-by: Jan Beulich <jbeulich@suse.com> > > --- a/xen/arch/x86/hvm/vmx/vmx.c > +++ b/xen/arch/x86/hvm/vmx/vmx.c > @@ -1587,8 +1587,8 @@ struct hvm_function_table * __init start > alloc_direct_apic_vector(&posted_intr_vector, > event_check_interrupt); > else > { > - hvm_funcs.deliver_posted_intr = NULL; > - hvm_funcs.sync_pir_to_irr = NULL; > + vmx_function_table.deliver_posted_intr = NULL; > + vmx_function_table.sync_pir_to_irr = NULL; > } > > setup_vmcs_dump(); >Acked. Best regards, Yang