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....@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