All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dai, Wei" <wei.dai@intel.com>
To: "Wu, Jingjing" <jingjing.wu@intel.com>,
	"Xing, Beilei" <beilei.xing@intel.com>,
	"Liang, Cunming" <cunming.liang@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, "stable@dpdk.org" <stable@dpdk.org>
Subject: Re: [PATCH 2/2] net/i40e: fix Rx queue interrupt mapping in VF
Date: Fri, 3 Nov 2017 05:51:45 +0000	[thread overview]
Message-ID: <49759EB36A64CF4892C1AFEC9231E8D6515552B5@PGSMSX111.gar.corp.intel.com> (raw)
In-Reply-To: <9BB6961774997848B5B42BEC655768F810EAC791@SHSMSX103.ccr.corp.intel.com>

Hi, Jingjing 
Thanks for your feedback.
 
> > Subject: [PATCH 2/2] net/i40e: fix Rx queue interrupt mapping in VF
> >
> > When a VF port is bound to VFIO-PCI, miscellaneous interrupt is mapped
> > to MSI-X vector 0 and Rx queues interrupt are mapped to other vectors
> > in vfio_enable_msix( ). To simplify implementation, all VFIO-PCI bound
> > i40e VF Rx queue interrupts can be mapped in vector 1. And as current
> > igb_uio only support only one vector, i40e VF PMD should use vector 0
> > for igb_uio and vector 1 for VFIO-PCI. Without this patch, VF Rx queue
> > interrupt is mapped to vector 0 in register settings and mapped to
> > VFIO vector 1 in vfio_enable_msix( ), and then all Rx queue interrupts will
> be missed.
> >
> > Fixes: 4b90a3ff26c5 ("i40evf: support Rx interrupt")
> > Fixes: 975ffea6f671 ("net/i40e: remove DPDK PF version specific code")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Wei Dai <wei.dai@intel.com>
> > ---
> >  drivers/net/i40e/i40e_ethdev_vf.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/i40e/i40e_ethdev_vf.c
> > b/drivers/net/i40e/i40e_ethdev_vf.c
> > index 567b7d0..94fb4b1 100644
> > --- a/drivers/net/i40e/i40e_ethdev_vf.c
> > +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> > @@ -654,7 +654,7 @@ i40evf_config_irq_map(struct rte_eth_dev *dev)
> >  	int i, err;
> >
> >  	if (rte_intr_allow_others(intr_handle))
> > -		vector_id = I40EVF_VSI_DEFAULT_MSIX_INTR_LNX;
> > +		vector_id = I40EVF_VSI_DEFAULT_MSIX_INTR;
> 
> Firstly, We can use I40E_MISC_VEC_ID and I40E_RX_VEC_START to replace
> I40EVF_VSI_DEFAULT_MSIX_INTR_LNX and
> I40EVF_VSI_DEFAULT_MSIX_INTR.
It looks good using I40E_RX_VEC_START instead of I40EVF_VSI_DEFAULT_MSIX_INTR.
> 
> You need to check if rx interrupt is enabled or not, if not we should use
> I40E_MISC_VEC_ID.
> If rx interrupt is enabled, and rte_intr_allow_others(intr_handle) is true, then
> use I40E_RX_VEC_START.
Yes I have tested it and confirm Rx interrupt is enabled with l3fwd-power.
> 
> And I think in VFIO cases, we can use more than one interrupt for the IRQ
> mapping. You can refer to the function i40e_vsi_queues_bind_intr.
> 

  reply	other threads:[~2017-11-03  5:51 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-02 13:10 [PATCH 0/2] Fix 2 bugs of i40e VF interrupt found in l3fwd-power Wei Dai
2017-11-02 13:10 ` [PATCH 1/2] net/i40e: fix VFIO interrupt mapping in VF Wei Dai
2017-11-03  2:25   ` Wu, Jingjing
2017-11-03  5:48     ` Dai, Wei
2017-11-02 13:10 ` [PATCH 2/2] net/i40e: fix Rx queue " Wei Dai
2017-11-03  2:17   ` Wu, Jingjing
2017-11-03  5:51     ` Dai, Wei [this message]
2017-11-03  7:14 ` [PATCH v2 0/2] Fix 2 bugs of i40e VF interrupt found in l3fwd-power Wei Dai
2017-11-03  7:14   ` [PATCH v2 1/2] net/i40e: fix VFIO interrupt mapping in VF Wei Dai
2017-11-03  7:14   ` [PATCH v2 2/2] net/i40e: fix Rx queue " Wei Dai
2017-11-03  8:31   ` [PATCH v2 0/2] Fix 2 bugs of i40e VF interrupt found in l3fwd-power Yao, Lei A
2017-11-03  8:47   ` [PATCH v3 " Wei Dai
2017-11-03  8:47     ` [PATCH v3 1/2] net/i40e: fix VFIO interrupt mapping in VF Wei Dai
2017-11-03 10:36       ` Wu, Jingjing
2017-11-03  8:47     ` [PATCH v3 2/2] net/i40e: fix Rx queue " Wei Dai
2017-11-03 10:37       ` Wu, Jingjing
2017-11-03  9:22     ` [PATCH v3 0/2] Fix 2 bugs of i40e VF interrupt found in l3fwd-power Dai, Wei
2017-11-03 19:19     ` Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49759EB36A64CF4892C1AFEC9231E8D6515552B5@PGSMSX111.gar.corp.intel.com \
    --to=wei.dai@intel.com \
    --cc=beilei.xing@intel.com \
    --cc=cunming.liang@intel.com \
    --cc=dev@dpdk.org \
    --cc=jingjing.wu@intel.com \
    --cc=stable@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.