[dpdk-dev] Issues of MSIx interrupt enable with user space driver

James (Fei) Liu-SSI james.liu at ssi.samsung.com
Wed Apr 29 01:46:07 CEST 2015


Hi ALL,
   Dump trace was added for more debugging information. thanks for your help in advance.

[  180.360229] vfio_ecap_init: 0000:02:00.0 hiding ecap 0x19 at 0x180
[  180.486813] vfio-pci 0000:02:00.0: irq 27 for MSI/MSI-X
[  180.489332] dmar: DRHD: handling fault status reg 2
[  180.489354] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G           OE  3.17.2 #4
[  180.489356] Hardware name: Dell Inc. OptiPlex 7010/0773VG, BIOS A05 07/31/2012
[  180.489358]  001f000000000000 ffff88011e203e68 ffffffff81ac42d7 0000000000000000
[  180.489362]  ffff88011e203ec8 ffffffff81997161 0000000000000019 ffff88011d807780
[  180.489365]  0000000000000200 0000000000000022 ffff88011d80692c ffff880117a80800
[  180.489368] Call Trace:
[  180.489370]  <IRQ>  [<ffffffff81ac42d7>] dump_stack+0x45/0x56
[  180.489383]  [<ffffffff81997161>] dmar_fault+0xc1/0x230
[  180.489388]  [<ffffffff8110469e>] handle_irq_event_percpu+0x3e/0x1a0
[  180.489391]  [<ffffffff8110483d>] handle_irq_event+0x3d/0x60
[  180.489394]  [<ffffffff811073e7>] handle_edge_irq+0x77/0x130
[  180.489399]  [<ffffffff810594ee>] handle_irq+0x1e/0x30
[  180.489402]  [<ffffffff81ad112f>] do_IRQ+0x4f/0xf0
[  180.489406]  [<ffffffff81acefad>] common_interrupt+0x6d/0x6d
[  180.489407]  <EOI>  [<ffffffff819611e0>] ? cpuidle_enter_state+0x70/0x170
[  180.489415]  [<ffffffff819611cd>] ? cpuidle_enter_state+0x5d/0x170
[  180.489419]  [<ffffffff81961397>] cpuidle_enter+0x17/0x20
[  180.489422]  [<ffffffff810eebad>] cpu_startup_entry+0x31d/0x340
[  180.489425]  [<ffffffff81ab4277>] rest_init+0x77/0x80
[  180.489430]  [<ffffffff8238d07f>] start_kernel+0x42a/0x435
[  180.489433]  [<ffffffff8238ca4e>] ? set_init_arg+0x53/0x53
[  180.489437]  [<ffffffff8238c120>] ? early_idt_handlers+0x120/0x120
[  180.489440]  [<ffffffff8238c5ee>] x86_64_start_reservations+0x2a/0x2c
[  180.489443]  [<ffffffff8238c733>] x86_64_start_kernel+0x143/0x152
[  180.489446] dmar: INTR-REMAP: Request device [[02:00.0] fault index 1f
[  180.489446] INTR-REMAP:[fault reason 34] Present field in the IRTE entry is clear


Regards,
James
________________________________________
From: dev [dev-bounces at dpdk.org] on behalf of James (Fei) Liu-SSI [james.liu at ssi.samsung.com]
Sent: Tuesday, April 28, 2015 2:57 PM
To: dev at dpdk.org
Subject: [dpdk-dev] Issues of MSIx interrupt enable with user space driver

Hi All,
    We are porting driver from kernel into user space driver with DPDK for one of our devices. Polling thread works fine without any issue. However, we want to switch from polling to interrupt based handler. While we enable interrupt with VFIO MSIx, we always get below errors after issuing one command:

[  465.464186] dmar: DRHD: handling fault status reg 2
[  465.464194] dmar: INTR-REMAP: Request device [[02:00.0] fault index 27
[  465.464194] INTR-REMAP:[fault reason 34] Present field in the IRTE entry is clear

Here are steps we follow to enable interrupt:
1. --vfio-intr msix   was passed in as parameter for rte_eal_init
2. rte_intr_enable was called during the drive probe stage.
3. rte_intr_callback_register was called after interrupt was enabled



Is there anyone in the forum who worked on the interrupt handler to share with us about your comments? thanks for your help in advance.

Regards,
James


More information about the dev mailing list