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

Re: [Xen-devel] pv-ops domU not working with MSI interrupts on Nehalem


  • To: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
  • From: Bruce Edge <bruce.edge@xxxxxxxxx>
  • Date: Thu, 30 Sep 2010 11:55:32 -0700
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Thu, 30 Sep 2010 11:56:32 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=KAmATSK2m0vDmrfeycBAhYorMY4AkqLY4mt52QXmO29mgnPI5JIiL0hNYUhpgK16Jd u9UhrOo0eLQ2pR5BDv36J70DEpJk1X4ln7xpywDii7zn6OQ9F7i4kqsADnCyHKbYHi6d P31yIFB/MfS5wPB8PQRJQIfibLZ3F76CFpBns=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

On Tue, Sep 28, 2010 at 7:56 AM, Konrad Rzeszutek Wilk
<konrad.wilk@xxxxxxxxxx> wrote:
>>  git clone  git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
>>
>> Initialized empty Git repository in
>> /import/kaan/bedge/src/xen/kernel/pv-ops/xen/.git/
>> remote: error: Could not read 59eab2f8f04147c5aadc99f2034ca7e5b81e890f
>> remote: fatal: Failed to traverse parents of commit
>> 979e121cb348add17ed8171bf447b27a3a9d1be3
>> remote: aborting due to possible repository corruption on the remote side.
>> fatal: early EOF
>> fatal: index-pack failed
>
> That should have worked, but it looks as my git repo is busted. Let me fix 
> that
> and once it done you should be able to do
>
> cd xen
> git checkout origin/pv/pcifront-2.6.32

That's working now, will test today.

>
>>
>> >
>> > It has the latest pcifront driver but without the PVonHVM enhancments
>> > so we can try to eliminate the PvONHVM logic out of the picture.
>> >
>> >>
>> >> >
>> >> > > - the interrupt does happen. But the interrupt service routine of
>> >> > > tachyon driver doesn't detect any interrupt status related to this
>> >> > > interrupt, which inhibits the tachyon chip from coming on-line. And
>> >> > > there are high count of tachyon interrupt in /proc/interrupts
>> >> >
>> >> > Is it checking the PCI_STATUS_INTERRUPT or the appropiate register
>> >> > in the MMIO BAR?
>> >> >
>> >>
>> >> The driver would check the appropriate register (tachyon registers) in
>> >> the MMIO to determine the source of interrupts.
>> >
>> > OK, so that isn't it. Is there anything at these vectors:
>> > 7c, 7d, 7e, and 7f? When you use xen debug-keys 'i' or 'q' it should give 
>> > you
>> > an inkling what device this is set for.
>>
>> When I run a distro kernel in hvm mode, I get the expected irq mappings:
>>
>> 'i' - Note 66 - 69
>> (XEN)    IRQ:  66 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:3a
>> type=PCI-MSI         status=00000010 in-flight=0
>> domain-list=10:127(----),
>> (XEN)    IRQ:  67 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:42
>> type=PCI-MSI         status=00000010 in-flight=0
>> domain-list=10:126(----),
>> (XEN)    IRQ:  68 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:4a
>> type=PCI-MSI         status=00000010 in-flight=0
>> domain-list=10:125(----),
>> (XEN)    IRQ:  69 affinity:ffffffff,ffffffff,ffffffff,ffffffff vec:52
>> type=PCI-MSI         status=00000010 in-flight=0
>> domain-list=10:124(----)
>>
>
> What does cat /proc/interrupts (don't do the grep) for this HVM guest?

Here's what's reported for the domU in hvm mode:

~ # cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5
  0:         28          0          0          0          0          0
  IO-APIC-edge      timer
  1:         18          0          0          0          0          0
  IO-APIC-edge      i8042
  6:          2          0          0          0          0          0
  IO-APIC-edge      floppy
  7:          0          0          0          0          0          0
  IO-APIC-edge      parport0
  8:          0          0          0          0          0          0
  IO-APIC-edge      rtc0
  9:          0          0          0          0          0          0
  IO-APIC-fasteoi   acpi
 12:          2          0          0          0          0          0
  IO-APIC-edge      i8042
 14:      67771          0          0          0          0          0
  IO-APIC-edge      ata_piix
 15:       3044          0          0          0          0          0
  IO-APIC-edge      ata_piix
 23:         22          0          0          0          0          0
  IO-APIC-fasteoi   uhci_hcd:usb1
 32:        953          0          0          0          0          0
  IO-APIC-fasteoi   eth0
NMI:          0          0          0          0          0          0
  Non-maskable interrupts
LOC:      26320      15814      13000      13825      11125      10458
  Local timer interrupts
SPU:          0          0          0          0          0          0
  Spurious interrupts
PMI:          0          0          0          0          0          0
  Performance monitoring interrupts
PND:          0          0          0          0          0          0
  Performance pending work
RES:      78730      21174      25236      34071      25122      26924
  Rescheduling interrupts
CAL:         90        806        808        488        587        392
  Function call interrupts
TLB:       3429       2358       3475       2522       3986       2684
  TLB shootdowns
TRM:          0          0          0          0          0          0
  Thermal event interrupts
THR:          0          0          0          0          0          0
  Threshold APIC interrupts
MCE:          0          0          0          0          0          0
  Machine check exceptions
MCP:          2          2          2          2          2          2
  Machine check polls
ERR:          0
MIS:          0

~ # lspci

00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.2 USB Controller: Intel Corporation 82371SB PIIX3 USB
[Natoma/Triton II] (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 01)
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
00:03.0 Class ff80: XenSource, Inc. Xen Platform Device (rev 01)
00:04.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+ (rev 20)
00:10.0 Fibre Channel: PMC-Sierra Inc. Device 8032 (rev 05)
00:11.0 Fibre Channel: PMC-Sierra Inc. Device 8032 (rev 05)
00:12.0 Fibre Channel: PMC-Sierra Inc. Device 8032 (rev 05)
00:13.0 Fibre Channel: PMC-Sierra Inc. Device 8032 (rev 05)

>>
>> 'q'
>> (XEN)     Interrupts { 32, 41-42, 47, 124-127 }
>

_______________________________________________
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®.