Skip to content

Commit

Permalink
netdev: octeon_mgmt: Free TX skbufs in a timely manner.
Browse files Browse the repository at this point in the history
We also reduce the high water mark to 1 so skbufs are not stranded for
long periods of time.  Since we are cleaning after each packet, no
need to do it in the transmit path.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David Daney authored and David S. Miller committed May 6, 2010
1 parent a0cfa85 commit b635e06
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions drivers/net/octeon/octeon_mgmt.c
Original file line number Diff line number Diff line change
Expand Up @@ -832,9 +832,9 @@ static int octeon_mgmt_open(struct net_device *netdev)
mix_irhwm.s.irhwm = 0;
cvmx_write_csr(CVMX_MIXX_IRHWM(port), mix_irhwm.u64);

/* Interrupt when we have 5 or more packets to clean. */
/* Interrupt when we have 1 or more packets to clean. */
mix_orhwm.u64 = 0;
mix_orhwm.s.orhwm = 5;
mix_orhwm.s.orhwm = 1;
cvmx_write_csr(CVMX_MIXX_ORHWM(port), mix_orhwm.u64);

/* Enable receive and transmit interrupts */
Expand Down Expand Up @@ -995,7 +995,6 @@ static int octeon_mgmt_xmit(struct sk_buff *skb, struct net_device *netdev)
cvmx_write_csr(CVMX_MIXX_ORING2(port), 1);

netdev->trans_start = jiffies;
octeon_mgmt_clean_tx_buffers(p);
octeon_mgmt_update_tx_stats(netdev);
return NETDEV_TX_OK;
}
Expand Down

0 comments on commit b635e06

Please sign in to comment.