From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Tan, Jianfeng" Subject: Re: [PATCH] net/virtio: fix fail to configure rxq interrupt Date: Wed, 19 Jul 2017 09:03:52 -0700 Message-ID: References: <1500434303-12975-1-git-send-email-jiayu.hu@intel.com> <20170719110845.GX11626@yliu-home> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org, lei.a.yao@intel.com, stable@dpdk.org To: Yuanhan Liu , Jiayu Hu Return-path: In-Reply-To: <20170719110845.GX11626@yliu-home> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 7/19/2017 4:08 AM, Yuanhan Liu wrote: > On Wed, Jul 19, 2017 at 11:18:23AM +0800, Jiayu Hu wrote: >> When use rte_eth_dev_configure() to enable rx queue interrupt for virtio >> devices, virtio_configure_intr() isn't called to set up the interrupt >> environment, which causes rx queue interrupt setup failed. This patch is >> to fix this issue. > Hmm, how was this supposed to work in the begining when this feature > was introduced? Jianfeng? In the v17.05, virtio_configure_intr() will be called by virtio_dev_configure() if the request feature is changed. That's not correct. > > --yliu > > >> Fixes: 26b683b4f7d0 ("net/virtio: setup Rx queue interrupts") >> Cc: stable@dpdk.org >> >> Signed-off-by: Jiayu Hu >> --- >> drivers/net/virtio/virtio_ethdev.c | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c >> index 00a3122..66656ed 100644 >> --- a/drivers/net/virtio/virtio_ethdev.c >> +++ b/drivers/net/virtio/virtio_ethdev.c >> @@ -1688,6 +1688,13 @@ virtio_dev_configure(struct rte_eth_dev *dev) >> return -ENOTSUP; >> } >> >> + if (dev->data->dev_conf.intr_conf.rxq) { >> + if (virtio_configure_intr(dev) < 0) { >> + PMD_DRV_LOG(ERR, "failed to configure interrupt"); >> + return -ENOTSUP; >> + } >> + } >> + Hi Jiayu, I would expect this will not work for virtio pci devices (QEMU might crash). Could you double check that? Thanks, Jianfeng >> if (dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC) >> /* Enable vector (0) for Link State Intrerrupt */ >> if (VTPCI_OPS(hw)->set_config_irq(hw, 0) == >> -- >> 2.7.4