[dpdk-dev] [PATCH] net/ixgbe: fix qos sched sample app performance drop

Wang, ShougangX shougangx.wang at intel.com
Thu Nov 21 06:43:06 CET 2019


Hi, Xiaolong

> -----Original Message-----
[snip]
> >+static void ixgbe_dev_macsec_init(struct rte_eth_dev *dev);
> >+
> > /*
> >  * Define VF Stats MACRO for Non "cleared on read" register
> >  */
> >@@ -1095,6 +1097,8 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev,
> >void *init_params __rte_unused)
> >
> > 	PMD_INIT_FUNC_TRACE();
> >
> >+	ixgbe_dev_macsec_init(eth_dev);
> 
> This is not needed as dev_private is allocated by rte_zmalloc_socket.
> 
OK, I will remove it.

> >+
> > 	eth_dev->dev_ops = &ixgbe_eth_dev_ops;
> > 	eth_dev->rx_pkt_burst = &ixgbe_recv_pkts;
> > 	eth_dev->tx_pkt_burst = &ixgbe_xmit_pkts; @@ -2545,7 +2549,7 @@
> >ixgbe_dev_start(struct rte_eth_dev *dev)
> > 	uint32_t *link_speeds;
> > 	struct ixgbe_tm_conf *tm_conf =
> > 		IXGBE_DEV_PRIVATE_TO_TM_CONF(dev->data->dev_private);
> >-	struct ixgbe_macsec_setting *macsec_ctrl =
> >+	struct ixgbe_macsec_setting *macsec_setting =
> > 		IXGBE_DEV_PRIVATE_TO_MACSEC_SETTING(dev->data-
> >dev_private);
> >
> > 	PMD_INIT_FUNC_TRACE();
> >@@ -2799,9 +2803,11 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
> > 	 */
> > 	ixgbe_dev_link_update(dev, 0);
> >
> >-	/* setup the macsec ctrl register */
> >-	ixgbe_dev_macsec_register_enable(dev, macsec_ctrl);
> >-
> >+	/* setup the macsec setting register */
> >+	if (macsec_setting->encrypt_en != 0 ||
> >+	    macsec_setting->replayprotect_en != 0) {
> >+		ixgbe_dev_macsec_register_enable(dev, macsec_setting);
> >+	}
> 
> Can we safely assume that if encrypt_en and replayprotect_en equals zero,
> then we don't need to call ixgbe_dev_macsec_register_enable at all? Since this
> enable routine is more about just encrypt_en/replayprotect_en, is that any
> usercase when user set macsec offload with both encrypt_en and
> replayprotect_en are 0?
> 
As you said, this is a problem. I will fix it. Thanks a lot.

Thanks.
Shougang 


More information about the dev mailing list