diff mbox series

[kvm-unit-tests] gitlab-ci.yml: Remove ioapic from the x86 tests

Message ID 20191205151610.19299-1-thuth@redhat.com (mailing list archive)
State New, archived
Headers show
Series [kvm-unit-tests] gitlab-ci.yml: Remove ioapic from the x86 tests | expand

Commit Message

Thomas Huth Dec. 5, 2019, 3:16 p.m. UTC
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.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Paolo Bonzini Dec. 9, 2019, 5:12 p.m. UTC | #1
On 05/12/19 16:16, Thomas Huth wrote:
> 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
Thomas Huth Dec. 9, 2019, 5:33 p.m. UTC | #2
On 09/12/2019 18.12, Paolo Bonzini wrote:
> On 05/12/19 16:16, Thomas Huth wrote:
>> 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
Paolo Bonzini Dec. 9, 2019, 5:45 p.m. UTC | #3
On 09/12/19 18:33, Thomas Huth wrote:
>> 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
Nitesh Narayan Lal Dec. 13, 2019, 7:30 a.m. UTC | #4
On 12/9/19 12:45 PM, Paolo Bonzini wrote:
> On 09/12/19 18:33, Thomas Huth wrote:
>>> 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.


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.

> Paolo
>
Nitesh Narayan Lal Jan. 21, 2020, 4:04 p.m. UTC | #5
On 12/9/19 12:45 PM, Paolo Bonzini wrote:
> On 09/12/19 18:33, Thomas Huth wrote:
>>> 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

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.
diff mbox series

Patch

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fbf3328..001c272 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -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