[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