Skip to contentSkip to conversation

gitlab-ci.yml: Remove ioapic from the x86 tests

PATCH In review Thomas Huth 3 participants 6 messages Dec 5, 2019 – Jan 21, 2020 KVM

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 gitlab-ci.yml: Remove ioapic from the x86 tests

The test recently started to fail (likely do to a recent change to "x86/ioapic.c). According to Nitesh, it's not required to keep this test running with TCG, and we already check it with KVM on Travis, so let's simply disable it here now.

---
 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
.gitlab-ci.yml +1 -1
index fbf3328..001c272 100644
@@ -64,7 +64,7 @@ build-x86_64:
  - ./configure --arch=x86_64
  - make -j2
  - ACCEL=tcg ./run_tests.sh
-     ioapic-split ioapic smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8
+     ioapic-split smptest smptest3 vmexit_cpuid vmexit_mov_from_cr8
      vmexit_mov_to_cr8 vmexit_inl_pmtimer  vmexit_ipi vmexit_ipi_halt
      vmexit_ple_round_robin vmexit_tscdeadline vmexit_tscdeadline_immed
      eventinj msr port80 syscall tsc rmap_chain umip intel_iommu
Signature · 1 line
2.18.1
maintainer
#1 lore raw
Quoted 4 lines · Thomas Huth

The test recently started to fail (likely do to a recent change to "x86/ioapic.c). According to Nitesh, it's not required to keep this test running with TCG, and we already check it with KVM on Travis, so let's simply disable it here now.

It works for me though:

$ /usr/bin/qemu-system-x86_64 -nodefaults -device pc-testdev -device
isa-debug-exit,iobase=0xf4,iosize=0x4 -vnc none -serial stdio -device
pci-testdev -machine accel=tcg -kernel x86/ioapic.flat
enabling apic
paging enabled
cr0 = 80010011
cr3 = 61d000
cr4 = 20
x2apic not detected
PASS: version register read only test
PASS: id register only bits [24:27] writable
PASS: arbitration register set by id
PASS: arbtration register read only
PASS: edge triggered intr
PASS: level triggered intr
PASS: ioapic simultaneous edge interrupts
PASS: coalesce simultaneous level interrupts
PASS: sequential level interrupts
PASS: retriggered level interrupts without masking
PASS: masked level interrupt
PASS: unmasked level interrupt
PASS: masked level interrupt
PASS: unmasked level interrupt
PASS: retriggered level interrupts with mask
PASS: TMR for ioapic edge interrupts (expected false)
PASS: TMR for ioapic level interrupts (expected false)
PASS: TMR for ioapic level interrupts (expected true)
PASS: TMR for ioapic edge interrupts (expected true)
SUMMARY: 19 tests
#2 lore raw
Quoted 11 lines · Paolo Bonzini
Quoted 4 lines · Thomas Huth

The test recently started to fail (likely do to a recent change to "x86/ioapic.c). According to Nitesh, it's not required to keep this test running with TCG, and we already check it with KVM on Travis, so let's simply disable it here now.

It works for me though:

$ /usr/bin/qemu-system-x86_64 -nodefaults -device pc-testdev -device
isa-debug-exit,iobase=0xf4,iosize=0x4 -vnc none -serial stdio -device
pci-testdev -machine accel=tcg -kernel x86/ioapic.flat

You have to run the test with "-smp 4" (like in x86/unittests.cfg), then it hangs.

Thomas

maintainer
#3 lore raw
Quoted 7 lines · Thomas Huth
Quoted 5 lines

It works for me though:

$ /usr/bin/qemu-system-x86_64 -nodefaults -device pc-testdev -device
isa-debug-exit,iobase=0xf4,iosize=0x4 -vnc none -serial stdio -device
pci-testdev -machine accel=tcg -kernel x86/ioapic.flat

You have to run the test with "-smp 4" (like in x86/unittests.cfg), then it hangs.

The problem was actually that I hadn't recompiled x86/ioapic.flat. Now I can see the hang even with "-machine accel=kvm,kernel_irqchip=off|split", I'll take a look if Nitesh doesn't beat me.

Paolo

#4 lore raw
Quoted 6 lines · Paolo Bonzini
Quoted 5 lines · Thomas Huth
Quoted 5 lines

It works for me though:

$ /usr/bin/qemu-system-x86_64 -nodefaults -device pc-testdev -device
isa-debug-exit,iobase=0xf4,iosize=0x4 -vnc none -serial stdio -device
pci-testdev -machine accel=tcg -kernel x86/ioapic.flat
Quoted 6 lines
Quoted 2 lines

You have to run the test with "-smp 4" (like in x86/unittests.cfg), then it hangs.

The problem was actually that I hadn't recompiled x86/ioapic.flat. Now I can see the hang even with "-machine accel=kvm,kernel_irqchip=off|split", I'll take a look if Nitesh doesn't beat me.

Sorry for the delay in response, I am currently on PTO.
I haven't specifically tried with 'kernel_irqchip=off|split', previously I have only tried with -machine accel=kvm.
I can give it a try once I am back.

Quoted 2 lines

Paolo

Signature · 2 lines
Thanks
Nitesh
#5 lore raw
In reply to Paolo Bonzini
Quoted 6 lines · Paolo Bonzini
Quoted 5 lines · Thomas Huth
Quoted 5 lines

It works for me though:

$ /usr/bin/qemu-system-x86_64 -nodefaults -device pc-testdev -device
isa-debug-exit,iobase=0xf4,iosize=0x4 -vnc none -serial stdio -device
pci-testdev -machine accel=tcg -kernel x86/ioapic.flat
Quoted 8 lines
Quoted 2 lines

You have to run the test with "-smp 4" (like in x86/unittests.cfg), then it hangs.

The problem was actually that I hadn't recompiled x86/ioapic.flat. Now I can see the hang even with "-machine accel=kvm,kernel_irqchip=off|split", I'll take a look if Nitesh doesn't beat me.

Paolo

I just started looking into the issue and the following is my understanding so far.

- The issue has something to do with test_ioapic_self_reconfigure() failure when ran with kernel_irqchip=split. If I remove this particular test or move it below my set of tests then both physical and logical destination mode test pass normally without any hang.

My understanding is that the failure of test_ioapic_self_reconfigure() leads to an uncleaned interrupt state which prevents the processing of the next request (physical and logical destination mode test). I still don't have a justification for why test_ioapic_self_reconfigure is failing with kernel_irqchip=split. I will have to investigate that.

Signature · 1 line
Nitesh