Messages in this thread | | | Subject | Re: [PATCH] net: hisilicon: Fix ping latency when deal with high throughput | From | Joe Perches <> | Date | Sat, 26 Oct 2019 08:44:47 -0700 |
| |
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?
| |