Thanks Pasi. Back to pci passthrough debugging.
I enabled nic interface via ifconfig and it doesn't receive any interrupts. Driver in domU experiences tx timeout and if I try to write to a disk in domU(i.e cat /proc/interrupts > /root/debugs) system never recovers. From dom0 cannot execute reboot/shutdown... have to use magic way to reboot the system. I looked into xen-devel forum for any possible soln(patch mentioned in the forum are all present in xen code I have). Inputs appreciated.
1. when dom0 is booted, device has irq 11 assigned
lspci -v on dom0
Ethernet controller: Unknown device dead:face
Subsystem: Unknown device dead:face
Flags: bus master, medium devsel, latency 32, IRQ 11
Memory at d0000000 (32-bit, non-prefetchable) [size=128M]
2. After domU boots up, irq is reassigned to 17 and it shares with usb/ide disk and other devices
lspci -v on dom0
Ethernet controller: Unknown device dead:face
Subsystem: Unknown device dead:face
Flags: bus master, medium devsel, latency 32, IRQ 17
Memory at d0000000 (32-bit, non-prefetchable) [size=128M]
lspci -v on domU
00:00.0 Ethernet controller: Device dead:face
Subsystem: Device dead:face
Flags: bus master, medium devsel, latency 32, IRQ 17
Memory at d0000000 (32-bit, non-prefetchable) [size=128M]
Kernel driver in use: ncr2f
Kernel modules: ncr2f
cat /proc/interrupts from domU
# cat /proc/interrupts
CPU0
17: 0 xen-pirq-pcifront ncr2f0
502: 6336 xen-dyn-event eth0
503: 2951 xen-dyn-event blkif
504: 105 xen-dyn-event hvc_console
505: 52 xen-dyn-event pcifront
506: 351 xen-dyn-event xenbus
507: 0 xen-dyn-ipi callfuncsingle0
508: 0 xen-dyn-virq debug0
509: 0 xen-dyn-ipi callfunc0
510: 0 xen-dyn-ipi resched0
511: 5949 xen-dyn-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
TRM: 0 Thermal event interrupts
THR: 0 Threshold APIC interrupts
MCE: 0 Machine check exceptions
MCP: 0 Machine check polls
ERR: 0
MIS: 0
After around 50 secs...
# cat /proc/interrupts
CPU0
17: 0 xen-pirq-pcifront ncr2f0
502: 7283 xen-dyn-event eth0
503: 2951 xen-dyn-event blkif
504: 121 xen-dyn-event hvc_console
505: 52 xen-dyn-event pcifront
506: 351 xen-dyn-event xenbus
507: 0 xen-dyn-ipi callfuncsingle0
508: 0 xen-dyn-virq debug0
509: 0 xen-dyn-ipi callfunc0
510: 0 xen-dyn-ipi resched0
511: 6237 xen-dyn-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
TRM: 0 Thermal event interrupts
THR: 0 Threshold APIC interrupts
MCE: 0 Machine check exceptions
MCP: 0 Machine check polls
ERR: 0
MIS: 0