From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: Issues of MSIx interrupt enable with user space driver Date: Tue, 28 Apr 2015 16:42:34 -0700 Message-ID: <20150428164234.4a191ef4@urahara> References: <99767EA2E27DD44DB4E9F9B9ACA458C03B30F07F@SSIEXCH-MB3.ssi.samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: "dev-VfR2kkLFssw@public.gmane.org" To: "James (Fei) Liu-SSI" Return-path: In-Reply-To: <99767EA2E27DD44DB4E9F9B9ACA458C03B30F07F-ft1uEjT2uiFELDjTER+ECks3tzt1FNtiQQ4Iyu8u01E@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" On Tue, 28 Apr 2015 21:57:31 +0000 "James (Fei) Liu-SSI" wrote: > 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. Do you have kernel version in your build environment that has ? Do you have iommu enabled on your target machine? Did you program the MSI-X correctly?