WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: xen dependant on pcpu 0 ?

To: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Subject: [Xen-devel] Re: xen dependant on pcpu 0 ?
From: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Date: Tue, 12 Oct 2010 21:37:42 +0200
Cc: Ian <Ian.Campbell@xxxxxxxxxxxxx>, Jeremy Fitzhardinge <jeremy@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Delivery-date: Tue, 12 Oct 2010 12:38:45 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20101012164433.GB21567@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: Eikelenboom IT services
References: <1452957126.20101012182813@xxxxxxxxxxxxxx> <20101012164433.GB21567@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi Konrad,

Here are the /proc/interrupts, without any cpu pinning, with normal interrupts 
i saw a pciback entry in /proc/interrupts in dom0, but with msi-x these seem to 
be missing ?

/proc/interrupts dom0 (2.6.31-pvops), running domU with videograbber active, 
little other activity in dom0
            CPU0       CPU1       CPU2       CPU3       CPU4       CPU5
   1:          2          0          0          0          0          0  
xen-pirq-ioapic-edge  i8042
   8:          0          0          0          0          0          0  
xen-pirq-ioapic-edge  rtc0
   9:          0          0          0          0          0          0  
xen-pirq-ioapic-level  acpi
  12:          4          0          0          0          0          0  
xen-pirq-ioapic-edge  i8042
  17:          2          0          0          0          0          0  
xen-pirq-ioapic-level  ehci_hcd:usb1, ehci_hcd:usb2, ehci_hcd:usb3
  18:         33          0          0          0          0          0  
xen-pirq-ioapic-level  ohci_hcd:usb4, ohci_hcd:usb5, ohci_hcd:usb6, 
ohci_hcd:usb7
  25:         18          0          0          0          0          0  
xen-pirq-ioapic-level  HDA Intel
 903:         38          0          0          0          0          0   
xen-dyn-event     vif9.0
 904:        912          0          0          0          0          0   
xen-dyn-event     blkif-backend
 905:         18          0          0          0          0          0   
xen-dyn-event     blkif-backend
 906:        409          0          0          0          0          0   
xen-dyn-event     evtchn:xenconsoled
 907:        285          0          0          0          0          0   
xen-dyn-event     evtchn:xenstored
 908:         12          0          0          0          0          0   
xen-dyn-event     vif8.0
 909:       4882          0          0          0          0          0   
xen-dyn-event     blkif-backend
 910:         19          0          0          0          0          0   
xen-dyn-event     blkif-backend
 911:        465          0          0          0          0          0   
xen-dyn-event     evtchn:xenconsoled
 912:        426          0          0          0          0          0   
xen-dyn-event     evtchn:xenstored
 913:        252          0          0          0          0          0   
xen-dyn-event     vif7.0
 916:        135          0          0          0          0          0   
xen-dyn-event     blkif-backend
 917:       1822          0          0          0          0          0   
xen-dyn-event     blkif-backend
 918:         25          0          0          0          0          0   
xen-dyn-event     blkif-backend
 919:       1021          0          0          0          0          0   
xen-dyn-event     pciback
 920:        947          0          0          0          0          0   
xen-dyn-event     evtchn:xenconsoled
 921:        357          0          0          0          0          0   
xen-dyn-event     evtchn:xenstored
 922:      61440          0          0          0          0          0   
xen-dyn-event     vif6.0
 923:       3065          0          0          0          0          0   
xen-dyn-event     blkif-backend
 924:         25          0          0          0          0          0   
xen-dyn-event     blkif-backend
 925:        236          0          0          0          0          0   
xen-dyn-event     evtchn:xenconsoled
 926:        262          0          0          0          0          0   
xen-dyn-event     evtchn:xenstored
 927:         12          0          0          0          0          0   
xen-dyn-event     vif5.0
 928:        932          0          0          0          0          0   
xen-dyn-event     blkif-backend
 929:         19          0          0          0          0          0   
xen-dyn-event     blkif-backend
 930:        272          0          0          0          0          0   
xen-dyn-event     evtchn:xenconsoled
 931:        288          0          0          0          0          0   
xen-dyn-event     evtchn:xenstored
 932:         59          0          0          0          0          0   
xen-dyn-event     vif4.0
 933:       1263          0          0          0          0          0   
xen-dyn-event     blkif-backend
 934:         23          0          0          0          0          0   
xen-dyn-event     blkif-backend
 935:        282          0          0          0          0          0   
xen-dyn-event     evtchn:xenconsoled
 936:        201          0          0          0          0          0   
xen-dyn-event     vif3.0
 937:        286          0          0          0          0          0   
xen-dyn-event     evtchn:xenstored
 938:       1082          0          0          0          0          0   
xen-dyn-event     blkif-backend
 939:         19          0          0          0          0          0   
xen-dyn-event     blkif-backend
 940:        301          0          0          0          0          0   
xen-dyn-event     evtchn:xenconsoled
 941:         18          0          0          0          0          0   
xen-dyn-event     vif2.0
 942:        810          0          0          0          0          0   
xen-dyn-event     blkif-backend
 943:         19          0          0          0          0          0   
xen-dyn-event     blkif-backend
 944:        280          0          0          0          0          0   
xen-dyn-event     evtchn:xenstored
 945:        281          0          0          0          0          0   
xen-dyn-event     evtchn:xenconsoled
 946:      42169          0          0          0          0          0   
xen-dyn-event     vif1.0
 947:        279          0          0          0          0          0   
xen-dyn-event     evtchn:xenstored
 948:      24824          0          0          0          0          0   
xen-dyn-event     blkif-backend
 949:         19          0          0          0          0          0   
xen-dyn-event     blkif-backend
 950:        285          0          0          0          0          0   
xen-dyn-event     evtchn:xenconsoled
 951:        282          0          0          0          0          0   
xen-dyn-event     evtchn:xenstored
 952:          0          0          0          0          0          0   
xen-dyn-event     evtchn:xenstored
 953:       5922          0          0          0          0          0   
xen-dyn-event     evtchn:xenstored
 954:      22988          0          0          0          0          0  
xen-pirq-msi       eth1
 955:      21566          0          0          0          0          0  
xen-pirq-msi       eth0
 956:          0          0          0          0          0          0  
xen-pirq-msi       ahci
 957:      72163          0          0          0          0          0  
xen-pirq-msi       ahci
 968:          0          0          0          0          0          0   
xen-dyn-virq      pcpu
 969:      11384          0          0          0          0          0   
xen-dyn-event     xenbus
 970:          0          0          0          0          0       1347   
xen-dyn-ipi       callfuncsingle5
 971:          0          0          0          0          0          0   
xen-dyn-virq      debug5
 972:          0          0          0          0          0        390   
xen-dyn-ipi       callfunc5
 973:          0          0          0          0          0      10300   
xen-dyn-ipi       resched5
 974:          0          0          0          0          0     137425   
xen-dyn-virq      timer5
 975:          0          0          0          0       1504          0   
xen-dyn-ipi       callfuncsingle4
 976:          0          0          0          0          0          0   
xen-dyn-virq      debug4
 977:          0          0          0          0        394          0   
xen-dyn-ipi       callfunc4
 978:          0          0          0          0      20872          0   
xen-dyn-ipi       resched4
 979:          0          0          0          0     254028          0   
xen-dyn-virq      timer4
 980:          0          0          0       1560          0          0   
xen-dyn-ipi       callfuncsingle3
 981:          0          0          0          0          0          0   
xen-dyn-virq      debug3
 982:          0          0          0        309          0          0   
xen-dyn-ipi       callfunc3
 983:          0          0          0      23055          0          0   
xen-dyn-ipi       resched3
 984:          0          0          0     348681          0          0   
xen-dyn-virq      timer3
 985:          0          0       1252          0          0          0   
xen-dyn-ipi       callfuncsingle2
 986:          0          0          0          0          0          0   
xen-dyn-virq      debug2
 987:          0          0        415          0          0          0   
xen-dyn-ipi       callfunc2
 988:          0          0      24141          0          0          0   
xen-dyn-ipi       resched2
 989:          0          0     415948          0          0          0   
xen-dyn-virq      timer2
 990:          0       1847          0          0          0          0   
xen-dyn-ipi       callfuncsingle1
 991:          0          0          0          0          0          0   
xen-dyn-virq      debug1
 992:          0        404          0          0          0          0   
xen-dyn-ipi       callfunc1
 993:          0      22844          0          0          0          0   
xen-dyn-ipi       resched1
 994:          0     484202          0          0          0          0   
xen-dyn-virq      timer1
 995:       1148          0          0          0          0          0   
xen-dyn-ipi       callfuncsingle0
 996:          0          0          0          0          0          0   
xen-dyn-virq      debug0
 997:        276          0          0          0          0          0   
xen-dyn-ipi       callfunc0
 998:      17435          0          0          0          0          0   
xen-dyn-ipi       resched0
 999:    1296208          0          0          0          0          0   
xen-dyn-virq      timer0
 NMI:          0          0          0          0          0          0   
Non-maskable interrupts
 LOC:          0          0          0          0          0          0   Local 
timer interrupts
 SPU:          0          0          0          0          0          0   
Spurious interrupts
 CNT:          0          0          0          0          0          0   
Performance counter interrupts
 PND:          0          0          0          0          0          0   
Performance pending work
 RES:      17435      22844      24141      23055      20872      10300   
Rescheduling interrupts
 CAL:       1424       2251       1667       1869       1898       1737   
Function call interrupts
 TLB:          0          0          0          0          0          0   TLB 
shootdowns
 TRM:          0          0          0          0          0          0   
Thermal event interrupts
 MCE:          0          0          0          0          0          0   
Machine check exceptions
 MCP:          5          5          5          5          5          5   
Machine check polls
 ERR:          0
 MIS:          0

 /proc/interrupts in videograbbing domU (2.6.36 pci-front0.7)

            CPU0
 44:          0  xen-pirq-pcifront  ohci_hcd:usb2
 45:          0  xen-pirq-pcifront  ohci_hcd:usb3
 46:          0  xen-pirq-pcifront  ehci_hcd:usb1
 86:          0  xen-pirq-pcifront-msi-x  xhci_hcd
 87:     147452  xen-pirq-pcifront-msi-x  xhci_hcd
244:        461   xen-dyn-event     eth0
245:        151   xen-dyn-event     blkif
246:       2720   xen-dyn-event     blkif
247:         30   xen-dyn-event     blkif
248:        309   xen-dyn-event     hvc_console
249:          2   xen-dyn-event     pcifront
250:        603   xen-dyn-event     xenbus
251:          0  xen-percpu-ipi       callfuncsingle0
252:          0  xen-percpu-virq      debug0
253:          0  xen-percpu-ipi       callfunc0
254:          0  xen-percpu-ipi       resched0
255:     193070  xen-percpu-virq      timer0
NMI:          0   Non-maskable interrupts
LOC:          0   Local timer interrupts
SPU:          0   Spurious interrupts
PMI:          0   Performance monitoring interrupts
PND:          0   Performance pending work
RES:          0   Rescheduling interrupts
CAL:          0   Function call interrupts
TLB:          0   TLB shootdowns
MCE:          0   Machine check exceptions
MCP:          0   Machine check polls
ERR:          0
MIS:          0







Tuesday, October 12, 2010, 6:44:33 PM, you wrote:

> On Tue, Oct 12, 2010 at 06:28:13PM +0200, Sander Eikelenboom wrote:
>> Hi Keir,
>> 
>> Does xen and/or the xen console depend on physical cpu 0 ?

> Usually the console for Dom0, and I think all other domains go
> through CPU0. Let me CC Ian here, who has been mucking in this
> area and found some bugs (and produced fixes).

> Ian, that bug you found with not clearing the eventchannel - that
> wouldn't have an impact here, right?

>> 
>> I'm still trying to solve the mystery of my machine freezing when doing:
>> 
>>  - videograbbing in a domU with a usb3 pci-express controller passed through 
>> (seems to cause quite a few interrupts)
>>  - compiling a linux kernel with "make -j 6"
>> 
>> It's a 6 core AMD phenom x6.
>> 
>> Without cpu pinning:
>> I can freeze the machine easily within a minute after starting the compile, 
>> at first xen serial console also slows down under the load (slow updates).
>> When the machine freezes i can't do anything with xen serial console.
>> 
>> With cpu pinning:
>> By not using the pcpu 0 at all for any domain, and pinning the domain with 
>> the videograbber to it's own pcpu (pcpu 5)  it seems the machine keeps 
>> running after 20 "make -j6" iterations of kernel compilation.
>> Xen serial console stays responsive and doesn't slow down during the kernel 
>> compilation. The videograbber shows no problem grabbing video.
>> 

> AHA! So finally closer to the mystery.

> Can you provide the /proc/interrupts of the Dom0?

> I wonder if this is related to the isseu I had some time ago, and never got
> to look at. The problem was that during heavy compilation (this is a 2 Nehelem
> socket box, just running Dom0 - no guests), the keyboard and USB driver would
> stop getting interrupts.  So the drivers would start polling which is quite 
> slow,
> albeit servicable, and then at some point it would pick up again.

> The weirdness was that the /proc/interrupts showed absolutly _no_ interrupts 
> on CPU0
> during that time - as if Xen just forgot to update them. Jeremy suggested I 
> try to
> disable Xen IRQ balance (noirqbalance on Xen command line) in case that is 
> it, and to my
> emberrasement I haven't tried that yet.

> Did you try that? I think somebody suggested that but I can't recall whether 
> it
> was for this issue?
>> 
>> Name                                ID  VCPU   CPU State   Time(s) CPU 
>> Affinity
>> Domain-0                             0     0     3   r--    2169.7 1-4
>> Domain-0                             0     1     1   -b-    2339.3 1-4
>> Domain-0                             0     2     2   -b-    2358.9 1-4
>> Domain-0                             0     3     3   -b-    2298.2 1-4
>> Domain-0                             0     4     1   -b-    2221.9 1-4
>> Domain-0                             0     5     4   -b-    2287.7 1-4
>> backup                               9     0     4   -b-      10.6 1-4
>> database                             1     0     4   -b-      45.3 1-4
>> davical                              5     0     3   -b-       8.7 1-4
>> git                                  8     0     2   -b-       7.9 1-4
>> mail                                 2     0     4   -b-       8.0 1-4
>> samba                                3     0     3   -b-      11.1 1-4
>> security                             7     0     5   r--    1433.2 5
>> www                                  4     0     1   -b-      10.2 1-4
>> zabbix                               6     0     3   -b-      21.2 1-4
>> 
>> 
>> Is there a way a deadlock could occur between hypervisor <-> dom0 <-> domU 
>> especially related to passthrough/interrupts in the context of pcpu 0 ?

> I don't know, but I do know that the IRQ handling in Xen 4.0 changed 
> significantly compared
> to 3.4. I don't remember if you ever ran this setup under 3.4?
>> 
>> --
>> Sander



-- 
Best regards,
 Sander                            mailto:linux@xxxxxxxxxxxxxx


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel