[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cfde329c7ee3c9bb5610bd9b040f95214cc4d9e8.camel@perches.com>
Date: Sat, 26 Oct 2019 08:44:47 -0700
From: Joe Perches <joe@...ches.com>
To: Jiangfeng Xiao <xiaojiangfeng@...wei.com>, davem@...emloft.net,
yisen.zhuang@...wei.com, salil.mehta@...wei.com
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
leeyou.li@...wei.com, zhanghan23@...wei.com, nixiaoming@...wei.com,
zhangqiang.cn@...ilicon.com, dingjingcheng@...ilicon.com
Subject: Re: [PATCH] net: hisilicon: Fix ping latency when deal with high
throughput
On Sat, 2019-10-26 at 16:49 +0800, Jiangfeng Xiao wrote:
> This is due to error in over budget processing.
> When dealing with high throughput, the used buffers
> that exceeds the budget is not cleaned up. In addition,
> it takes a lot of cycles to clean up the used buffer,
> and then the buffer where the valid data is located can take effect.
[]
> diff --git a/drivers/net/ethernet/hisilicon/hip04_eth.c b/drivers/net/ethernet/hisilicon/hip04_eth.c
[]
> @@ -575,7 +575,7 @@ static int hip04_rx_poll(struct napi_struct *napi, int budget)
> struct hip04_priv *priv = container_of(napi, struct hip04_priv, napi);
> struct net_device *ndev = priv->ndev;
> struct net_device_stats *stats = &ndev->stats;
> - unsigned int cnt = hip04_recv_cnt(priv);
> + static unsigned int cnt_remaining;
static doesn't seem a great idea here as it's for just a single
driver instance. Maybe make this part of struct hip04_priv?
Powered by blists - more mailing lists