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

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



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


 


Rackspace

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