From: "Guo, Jia" <jia.guo@intel.com> To: "Xing, Beilei" <beilei.xing@intel.com>, "dev@dpdk.org" <dev@dpdk.org> Cc: "stable@dpdk.org" <stable@dpdk.org> Subject: Re: [dpdk-stable] [PATCH] net/i40e: fix conflict with multi-driver Date: Thu, 19 Nov 2020 06:24:43 +0000 Message-ID: <c4643fa88a654979b389181e4ab04a43@intel.com> (raw) In-Reply-To: <20201119061616.37482-1-beilei.xing@intel.com> Hi, beilei > -----Original Message----- > From: Xing, Beilei <beilei.xing@intel.com> > Sent: Thursday, November 19, 2020 2:16 PM > To: dev@dpdk.org > Cc: Guo, Jia <jia.guo@intel.com>; Xing, Beilei <beilei.xing@intel.com>; > stable@dpdk.org > Subject: [PATCH] net/i40e: fix conflict with multi-driver > Seems that this patch both handle multi-driver and none multi-driver. I am not sure if it need to rename to a better name, you choice. " net/i40e: fix global register recovery"? > From: Beilei Xing <beilei.xing@intel.com> > > PMD configures the global register I40E_GLINT_CTL during device > initialization to work around the Rx write back issue. But when a device is > bound from DPDK to kernel, the global register is not recovered to the > original state, it will cause kernel driver performance drop issue. > This patch fixes this issue. > > Fixes: be6c228d4da3 ("i40e: support Rx interrupt") If the issue is root cause that the miss-pair automask configure and automask clear, do you think it will be better to add one more fixes tag as below? Fixes: 4ab831449a1c ("net/i40e: fix interrupt conflict with multi-driver ") > Cc: stable@dpdk.org > > Signed-off-by: Beilei Xing <beilei.xing@intel.com> > --- > drivers/net/i40e/i40e_ethdev.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c > index f54769c29d..2cb18ecc03 100644 > --- a/drivers/net/i40e/i40e_ethdev.c > +++ b/drivers/net/i40e/i40e_ethdev.c > @@ -763,6 +763,21 @@ static inline void i40e_config_automask(struct > i40e_pf *pf) > I40E_WRITE_REG(hw, I40E_GLINT_CTL, val); } > > +static inline void i40e_clear_automask(struct i40e_pf *pf) { > + struct i40e_hw *hw = I40E_PF_TO_HW(pf); > + uint32_t val; > + > + val = I40E_READ_REG(hw, I40E_GLINT_CTL); > + val &= ~(I40E_GLINT_CTL_DIS_AUTOMASK_PF0_MASK | > + I40E_GLINT_CTL_DIS_AUTOMASK_VF0_MASK); > + > + if (!pf->support_multi_driver) > + val &= ~I40E_GLINT_CTL_DIS_AUTOMASK_N_MASK; > + > + I40E_WRITE_REG(hw, I40E_GLINT_CTL, val); } > + > #define I40E_FLOW_CONTROL_ETHERTYPE 0x8808 > > /* > @@ -2741,6 +2756,8 @@ i40e_dev_close(struct rte_eth_dev *dev) > /* Remove all Traffic Manager configuration */ > i40e_tm_conf_uninit(dev); > > + i40e_clear_automask(pf); > + > hw->adapter_closed = 1; > return ret; > } > -- > 2.26.2
next prev parent reply other threads:[~2020-11-19 6:24 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-11-19 6:16 beilei.xing 2020-11-19 6:24 ` Guo, Jia [this message] 2020-11-20 8:49 ` [dpdk-stable] [PATCH v2] net/i40e: fix global register recovery beilei.xing 2020-11-24 5:56 ` Guo, Jia 2020-12-11 2:23 ` Zhang, Qi Z -- strict thread matches above, loose matches on Subject: below -- 2019-09-20 10:57 [dpdk-stable] [PATCH] net/i40e: fix conflict with multi-driver alvinx.zhang 2019-09-25 9:16 ` Xing, Beilei
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=c4643fa88a654979b389181e4ab04a43@intel.com \ --to=jia.guo@intel.com \ --cc=beilei.xing@intel.com \ --cc=dev@dpdk.org \ --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
patches for DPDK stable branches This inbox may be cloned and mirrored by anyone: git clone --mirror http://inbox.dpdk.org/stable/0 stable/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 stable stable/ http://inbox.dpdk.org/stable \ stable@dpdk.org public-inbox-index stable Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.stable AGPL code for this site: git clone https://public-inbox.org/public-inbox.git