[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [xen-unstable] Commit 2ca9fbd739b8a72b16dd790d0fff7b75f5488fb8 AMD IOMMU: allocate IRTE entries instead of using a static mapping, makes dom0 boot process stall several times.



Friday, August 16, 2013, 3:15:50 PM, you wrote:

>>>> On 16.08.13 at 12:44, Sander Eikelenboom <linux@xxxxxxxxxxxxxx> wrote:
>> Friday, August 16, 2013, 11:18:56 AM, you wrote:
>>>>>> On 16.08.13 at 10:40, Sander Eikelenboom <linux@xxxxxxxxxxxxxx> wrote:
>>>> Hmm only the "no-cpuidle" is needed (cpufreq=xen can stay) to make the 
>>>> stalls 
>>>> disappear,
>>>> but makes me wonder how that is related to the commit the bisection found 
>>>> ..
>>>> machine has been running with cpuidle enabled for ages ..
>> 
>>> That's odd indeed. If you're up to do a little bit of debugging here,
>>> why don't you log the sequence of interrupts arriving both with
>>> and without said commit. This might end up being a lot of data, so
>>> you may want to filter out uninteresting stuff and/or log only to
>>> a memory buffer which then gets dumped upon some debug key
>>> press.
>> 
>> Hmm making said debug patch is getting probably a bit out of my league ..
>> since the generated interrupts will probably outpace flushing to the 
>> console.
>> 
>> And i'm not sure in what things you are actually interested around the irq 
>> flow (probably the hpet msi ones ?).

> No, much more the ones from the devices that you say the drivers
> of which cause the stalls while initializing. The question mainly is
> whether the distribution of interrupts between CPUs changed in a
> way that made the system more susceptible to missing wakeups
> via HPET MSIs.

> Along that lines was also the question regarding interrupt counts
> for the devices in question, which if I'm not mistaken you didn't
> answer yet.

Have done a diff from the output of the msi, interrupts and ioapic debug keys.
Maybe you can spot a key difference with your trained eyes :-)

good = xen-unstable from just before the bisected commit
tip = latest xen-unstable


--- good-msi.txt        2013-08-16 17:39:25.000000000 +0200
+++ tip-msi.txt 2013-08-16 17:39:13.000000000 +0200
@@ -3 +3 @@
- HPET    57 vec=a0 lowest  edge   assert  log lowest dest=00000004 mask=1/0/?
+ HPET    57 vec=a0 lowest  edge   assert  log lowest dest=00000020 mask=1/0/?
@@ -5 +5 @@
- HPET    59 vec=b0 lowest  edge   assert  log lowest dest=00000020 mask=1/0/?
+ HPET    59 vec=b0 lowest  edge   assert  log lowest dest=00000002 mask=1/0/?





--- good-interrupt.txt  2013-08-16 17:40:57.000000000 +0200
+++ tip-interrupt.txt   2013-08-16 17:39:44.000000000 +0200
@@ -3 +3 @@
-   IRQ:   1 affinity:01 vec:30 type=IO-APIC-edge    status=00000034 
in-flight=0 domain-list=0:  1(----),
+   IRQ:   1 affinity:01 vec:30 type=IO-APIC-edge    status=00000030 
in-flight=0 domain-list=0:  1(----),
@@ -8 +8 @@
-   IRQ:   7 affinity:01 vec:50 type=IO-APIC-edge    status=00000002 mapped, 
unbound
+   IRQ:   7 affinity:01 vec:50 type=IO-APIC-edge    status=00000006 mapped, 
unbound
@@ -38 +38 @@
-   IRQ:  57 affinity:04 vec:a0 type=HPET-MSI        status=00000000 
hpet_interrupt_handler+0/0x40
+   IRQ:  57 affinity:20 vec:a0 type=HPET-MSI        status=00000000 
hpet_interrupt_handler+0/0x40
@@ -40 +40 @@
-   IRQ:  59 affinity:20 vec:b0 type=HPET-MSI        status=00000000 
hpet_interrupt_handler+0/0x40
+   IRQ:  59 affinity:02 vec:b0 type=HPET-MSI        status=00000000 
hpet_interrupt_handler+0/0x40
@@ -51,10 +51,10 @@
-   IRQ:  70 affinity:01 vec:d9 type=PCI-MSI         status=00000010 
in-flight=0 domain-list=0:301(----),
-   IRQ:  71 affinity:01 vec:2a type=PCI-MSI         status=00000010 
in-flight=0 domain-list=0:300(----),
-   IRQ:  72 affinity:01 vec:3a type=PCI-MSI         status=00000010 
in-flight=0 domain-list=0:299(----),
-   IRQ:  73 affinity:01 vec:42 type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:298(----),
-   IRQ:  74 affinity:01 vec:4a type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:297(----),
-   IRQ:  75 affinity:01 vec:52 type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:296(----),
-   IRQ:  76 affinity:01 vec:5a type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:295(----),
-   IRQ:  77 affinity:01 vec:62 type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:294(----),
-   IRQ:  78 affinity:01 vec:6a type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:293(----),
-   IRQ:  79 affinity:01 vec:72 type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:292(----),
+   IRQ:  70 affinity:01 vec:d9 type=PCI-MSI         status=00000010 
in-flight=0 domain-list=0:301(-S--),
+   IRQ:  71 affinity:01 vec:2a type=PCI-MSI         status=00000010 
in-flight=1 domain-list=0:300(PS-M),
+   IRQ:  72 affinity:01 vec:3a type=PCI-MSI         status=00000010 
in-flight=0 domain-list=0:299(-S--),
+   IRQ:  73 affinity:01 vec:42 type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:298(-S--),
+   IRQ:  74 affinity:01 vec:4a type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:297(-S--),
+   IRQ:  75 affinity:01 vec:52 type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:296(-S--),
+   IRQ:  76 affinity:01 vec:5a type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:295(-S--),
+   IRQ:  77 affinity:01 vec:62 type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:294(-S--),
+   IRQ:  78 affinity:01 vec:6a type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:293(-S--),
+   IRQ:  79 affinity:01 vec:72 type=PCI-MSI/-X      status=00000030 
in-flight=0 domain-list=0:292(-S--),
@@ -65 +65 @@
-      Apic 0x00, Pin  1: vec=30 delivery=LoPri dest=L status=0 polarity=0 
irr=0 trig=E mask=0 dest_id:1
+      Apic 0x00, Pin  1: vec=a8 delivery=LoPri dest=L status=0 polarity=0 
irr=0 trig=E mask=0 dest_id:1
@@ -79 +79 @@
-      Apic 0x00, Pin  9: vec=60 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=0 dest_id:1
+      Apic 0x00, Pin  9: vec=60 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=0 dest_id:1
@@ -93 +93 @@
-      Apic 0x00, Pin 16: vec=d0 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x00, Pin 16: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -95 +95 @@
-      Apic 0x00, Pin 17: vec=21 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=0 dest_id:1
+      Apic 0x00, Pin 17: vec=21 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=0 dest_id:1
@@ -97 +97 @@
-      Apic 0x00, Pin 18: vec=d8 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=0 dest_id:1
+      Apic 0x00, Pin 18: vec=d8 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=0 dest_id:1
@@ -99 +99 @@
-      Apic 0x00, Pin 19: vec=d1 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x00, Pin 19: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -101 +101 @@
-      Apic 0x00, Pin 22: vec=a1 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x00, Pin 22: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -103 +103 @@
-      Apic 0x01, Pin  4: vec=c9 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin  4: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -105 +105 @@
-      Apic 0x01, Pin  5: vec=c1 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin  5: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -107 +107 @@
-      Apic 0x01, Pin  8: vec=b1 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin  8: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -109 +109 @@
-      Apic 0x01, Pin  9: vec=a9 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin  9: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -111 +111 @@
-      Apic 0x01, Pin 13: vec=31 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin 13: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -113 +113 @@
-      Apic 0x01, Pin 14: vec=39 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin 14: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -115 +115 @@
-      Apic 0x01, Pin 15: vec=41 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin 15: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -117 +117 @@
-      Apic 0x01, Pin 16: vec=49 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin 16: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -119 +119 @@
-      Apic 0x01, Pin 22: vec=22 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin 22: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -121 +121 @@
-      Apic 0x01, Pin 23: vec=b9 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin 23: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -123 +123 @@
-      Apic 0x01, Pin 24: vec=29 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin 24: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -125 +125 @@
-      Apic 0x01, Pin 27: vec=32 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin 27: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -127 +127 @@
-      Apic 0x01, Pin 28: vec=b8 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin 28: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -129 +129 @@
-      Apic 0x01, Pin 29: vec=c0 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
+      Apic 0x01, Pin 29: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
@@ -131 +131 @@
-      Apic 0x01, Pin 30: vec=c8 delivery=LoPri dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
\ No newline at end of file
+      Apic 0x01, Pin 30: vec=00 delivery=Fixed dest=L status=0 polarity=1 
irr=0 trig=L mask=1 dest_id:63
\ No newline at end of file


--- good-ioapic.txt     2013-08-16 17:40:44.000000000 +0200
+++ tip-ioapic.txt      2013-08-16 17:40:23.000000000 +0200
@@ -20,2 +20,2 @@
- 00 000 00  1    0    0   0   0    0    0    00
- 01 001 01  0    0    0   0   0    1    1    30
+ 00 000 00  1    0    0   0   0    0    1    A8
+ 01 001 01  0    0    0   0   0    1    1    A8
@@ -29 +29 @@
- 09 001 01  0    1    0   1   0    1    1    60
+ 09 001 01  0    1    0   1   0    1    0    60
@@ -36,8 +36,8 @@
- 10 03F 0F  1    1    0   1   0    1    1    D0
- 11 001 01  0    1    0   1   0    1    1    21
- 12 001 01  0    1    0   1   0    1    1    D8
- 13 03F 0F  1    1    0   1   0    1    1    D1
- 14 000 00  1    0    0   0   0    0    0    00
- 15 000 00  1    0    0   0   0    0    0    00
- 16 03F 0F  1    1    0   1   0    1    1    A1
- 17 000 00  1    0    0   0   0    0    0    00
+ 10 03F 0F  1    1    0   1   0    1    0    00
+ 11 001 01  0    1    0   1   0    1    0    21
+ 12 001 01  0    1    0   1   0    1    0    D8
+ 13 03F 0F  1    1    0   1   0    1    0    00
+ 14 000 00  1    0    0   0   0    0    1    A8
+ 15 000 00  1    0    0   0   0    0    1    A8
+ 16 03F 0F  1    1    0   1   0    1    0    00
+ 17 000 00  1    0    0   0   0    0    1    A8
@@ -57,32 +57,32 @@
- 00 000 00  1    0    0   0   0    0    0    00
- 01 000 00  1    0    0   0   0    0    0    00
- 02 000 00  1    0    0   0   0    0    0    00
- 03 000 00  1    0    0   0   0    0    0    00
- 04 03F 0F  1    1    0   1   0    1    1    C9
- 05 03F 0F  1    1    0   1   0    1    1    C1
- 06 000 00  1    0    0   0   0    0    0    00
- 07 000 00  1    0    0   0   0    0    0    00
- 08 03F 0F  1    1    0   1   0    1    1    B1
- 09 03F 0F  1    1    0   1   0    1    1    A9
- 0a 000 00  1    0    0   0   0    0    0    00
- 0b 000 00  1    0    0   0   0    0    0    00
- 0c 000 00  1    0    0   0   0    0    0    00
- 0d 03F 0F  1    1    0   1   0    1    1    31
- 0e 03F 0F  1    1    0   1   0    1    1    39
- 0f 03F 0F  1    1    0   1   0    1    1    41
- 10 03F 0F  1    1    0   1   0    1    1    49
- 11 000 00  1    0    0   0   0    0    0    00
- 12 000 00  1    0    0   0   0    0    0    00
- 13 000 00  1    0    0   0   0    0    0    00
- 14 000 00  1    0    0   0   0    0    0    00
- 15 000 00  1    0    0   0   0    0    0    00
- 16 03F 0F  1    1    0   1   0    1    1    22
- 17 03F 0F  1    1    0   1   0    1    1    B9
- 18 03F 0F  1    1    0   1   0    1    1    29
- 19 000 00  1    0    0   0   0    0    0    00
- 1a 000 00  1    0    0   0   0    0    0    00
- 1b 03F 0F  1    1    0   1   0    1    1    32
- 1c 03F 0F  1    1    0   1   0    1    1    B8
- 1d 03F 0F  1    1    0   1   0    1    1    C0
- 1e 03F 0F  1    1    0   1   0    1    1    C8
- 1f 000 00  1    0    0   0   0    0    0    00
+ 00 000 00  1    0    0   0   0    0    1    A8
+ 01 000 00  1    0    0   0   0    0    1    A8
+ 02 000 00  1    0    0   0   0    0    1    A8
+ 03 000 00  1    0    0   0   0    0    1    A8
+ 04 03F 0F  1    1    0   1   0    1    0    00
+ 05 03F 0F  1    1    0   1   0    1    0    00
+ 06 000 00  1    0    0   0   0    0    1    A8
+ 07 000 00  1    0    0   0   0    0    1    A8
+ 08 03F 0F  1    1    0   1   0    1    0    00
+ 09 03F 0F  1    1    0   1   0    1    0    00
+ 0a 000 00  1    0    0   0   0    0    1    A8
+ 0b 000 00  1    0    0   0   0    0    1    A8
+ 0c 000 00  1    0    0   0   0    0    1    A8
+ 0d 03F 0F  1    1    0   1   0    1    0    00
+ 0e 03F 0F  1    1    0   1   0    1    0    00
+ 0f 03F 0F  1    1    0   1   0    1    0    00
+ 10 03F 0F  1    1    0   1   0    1    0    00
+ 11 000 00  1    0    0   0   0    0    1    A8
+ 12 000 00  1    0    0   0   0    0    1    A8
+ 13 000 00  1    0    0   0   0    0    1    A8
+ 14 000 00  1    0    0   0   0    0    1    A8
+ 15 000 00  1    0    0   0   0    0    1    A8
+ 16 03F 0F  1    1    0   1   0    1    0    00
+ 17 03F 0F  1    1    0   1   0    1    0    00
+ 18 03F 0F  1    1    0   1   0    1    0    00
+ 19 000 00  1    0    0   0   0    0    1    A8
+ 1a 000 00  1    0    0   0   0    0    1    A8
+ 1b 03F 0F  1    1    0   1   0    1    0    00
+ 1c 03F 0F  1    1    0   1   0    1    0    00
+ 1d 03F 0F  1    1    0   1   0    1    0    00
+ 1e 03F 0F  1    1    0   1   0    1    0    00
+ 1f 000 00  1    0    0   0   0    0    1    A8





> Jan




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.