diff options
author | Fugang Duan <B38611@freescale.com> | 2012-09-06 14:13:00 +0800 |
---|---|---|
committer | Fugang Duan <B38611@freescale.com> | 2012-09-07 14:27:44 +0800 |
commit | 01e3577ae9dd185b12b99962806c9c509748680c (patch) | |
tree | a39c6369c08e3fd5d38416447f55c7478a0a3bbb /drivers/net | |
parent | a2f043c1d672253e16f704fbe2d756055186c6b0 (diff) |
ENGR00223249 : fix Ethernet performance downgrade issue.
Ethernet performance is downgraded when wait mode on in
100Mbps mode.
wait mode off:
100Mbps mode: tx bandwidth is 94Mbps
rx bandwidth is 94Mbps
wait mode on:
100Mbps mode: tx bandwidth is 30Mbps
rx bandwidth is 94Mbps
After apply the patch:
wait mode on:
100Mbps mode: tx bandwidth is 94Mbps
rx bandwidth is 94Mbps
Wait mode on cause enet interrupt has long latency, which
results in BD entries are full and stop tx queue, so cpus
have more chance to enter wait mode.
Incresing TX BD entries can properly accommodate the blance
between BD request before tx packets and BD release after tx
completion in interrupt process.
Signed-off-by: Fugang Duan <B38611@freescale.com>
Diffstat (limited to 'drivers/net')
-rwxr-xr-x | drivers/net/fec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c index b1fa4647f911..5af378f391ee 100755 --- a/drivers/net/fec.c +++ b/drivers/net/fec.c @@ -122,8 +122,8 @@ MODULE_PARM_DESC(macaddr, "FEC Ethernet MAC address"); #define RX_RING_SIZE (FEC_ENET_RX_FRPPG * FEC_ENET_RX_PAGES) #define FEC_ENET_TX_FRSIZE 2048 #define FEC_ENET_TX_FRPPG (PAGE_SIZE / FEC_ENET_TX_FRSIZE) -#define TX_RING_SIZE 16 /* Must be power of two */ -#define TX_RING_MOD_MASK 15 /* for this to work */ +#define TX_RING_SIZE 128 /* Must be power of two */ +#define TX_RING_MOD_MASK 127 /* for this to work */ #define BUFDES_SIZE ((RX_RING_SIZE + TX_RING_SIZE) * sizeof(struct bufdesc)) |