[dpdk-dev] [PATCH] fm10k: fix switch manager high CPU usage

Chen, Jing D jing.d.chen at intel.com
Wed Feb 3 08:22:42 CET 2016


Hi,


Best Regards,
Mark


> -----Original Message-----
> From: He, Shaopeng
> Sent: Thursday, January 28, 2016 1:47 PM
> To: dev at dpdk.org
> Cc: Chen, Jing D; Wang, Xiao W; He, Shaopeng
> Subject: [PATCH] fm10k: fix switch manager high CPU usage
> 
> fm10k switch core uses source MAC + VID + SGLORT to do
> look up in MAC table. If no match, an exception interrupt
> will be sent to the switch manager, and cause high CPU
> usage.

Above paragraph didn't describe the bug clearly. Can you add more
Words on it?

> This patch fixes this issue. A default SGLORT is assigned
> to each TX queue. This default value works for non-VMDq mode
> and current VMDq example. For advanced VMDq usage, e.g.
> different source MAC address for different TX queue, FTAG
> forwarding function could be used to change this default
> SGLORT value.
> 
> Signed-off-by: Shaopeng He <shaopeng.he at intel.com>
> ---
>  drivers/net/fm10k/fm10k_ethdev.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/net/fm10k/fm10k_ethdev.c
> b/drivers/net/fm10k/fm10k_ethdev.c
> index e4aed94..f6eb05d 100644
> --- a/drivers/net/fm10k/fm10k_ethdev.c
> +++ b/drivers/net/fm10k/fm10k_ethdev.c
> @@ -675,6 +675,9 @@ fm10k_dev_tx_init(struct rte_eth_dev *dev)
>  		FM10K_WRITE_REG(hw, FM10K_TDBAH(i),
>  				base_addr >> (CHAR_BIT * sizeof(uint32_t)));
>  		FM10K_WRITE_REG(hw, FM10K_TDLEN(i), size);
> +
> +		/* assign default SGLORT for each TX queue */
> +		FM10K_WRITE_REG(hw, FM10K_TX_SGLORT(i), hw-
> >mac.dglort_map);
>  	}
> 
>  	/* set up vector or scalar TX function as appropriate */
> --
> 1.9.3



More information about the dev mailing list