From: Nathan Sullivan <redacted>
In recent testing with the RT patchset, we have seen cases where the
transmit ring can fill even with up to 200 txbds in the ring. Increase
the size of the DMA rings to avoid overruns.
Signed-off-by: Nathan Sullivan <redacted>
Acked-by: Ben Shelton <redacted>
Acked-by: Jaeden Amero <redacted>
Natinst-ReviewBoard-ID: 83662
---
drivers/net/ethernet/cadence/macb.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -35,12 +35,12 @@#include"macb.h"-#define MACB_RX_BUFFER_SIZE 128+#define MACB_RX_BUFFER_SIZE 1536#define RX_BUFFER_MULTIPLE 64 /* bytes */#define RX_RING_SIZE 512 /* must be power of 2 */#define RX_RING_BYTES (sizeof(struct macb_dma_desc) * RX_RING_SIZE)-#define TX_RING_SIZE 128 /* must be power of 2 */+#define TX_RING_SIZE 512 /* must be power of 2 */#define TX_RING_BYTES (sizeof(struct macb_dma_desc) * TX_RING_SIZE)/* level of occupied TX descriptors under which we wake up TX process */
From: Nicolas Ferre <hidden> Date: 2016-08-24 19:17:17
Le 24/08/2016 à 20:25, Xander Huff a écrit :
quoted hunk
From: Nathan Sullivan <redacted>
In recent testing with the RT patchset, we have seen cases where the
transmit ring can fill even with up to 200 txbds in the ring. Increase
the size of the DMA rings to avoid overruns.
Signed-off-by: Nathan Sullivan <redacted>
Acked-by: Ben Shelton <redacted>
Acked-by: Jaeden Amero <redacted>
Natinst-ReviewBoard-ID: 83662
---
drivers/net/ethernet/cadence/macb.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
This change seems not covered by the commit message. Can you please
separate the changes in 2 patches or elaborate a bit more the reason for
this RX buffer size change.
Bye,
#define RX_BUFFER_MULTIPLE 64 /* bytes */
#define RX_RING_SIZE 512 /* must be power of 2 */
#define RX_RING_BYTES (sizeof(struct macb_dma_desc) * RX_RING_SIZE)
-#define TX_RING_SIZE 128 /* must be power of 2 */
+#define TX_RING_SIZE 512 /* must be power of 2 */
#define TX_RING_BYTES (sizeof(struct macb_dma_desc) * TX_RING_SIZE)
/* level of occupied TX descriptors under which we wake up TX process */
From: Nathan Sullivan <redacted>
In recent testing with the RT patchset, we have seen cases where the
transmit ring can fill even with up to 200 txbds in the ring. Increase the
size of the DMA TX ring to avoid overruns.
Signed-off-by: Xander Huff <redacted>
Signed-off-by: Nathan Sullivan <redacted>
---
drivers/net/ethernet/cadence/macb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -40,7 +40,7 @@#define RX_RING_SIZE 512 /* must be power of 2 */#define RX_RING_BYTES (sizeof(struct macb_dma_desc) * RX_RING_SIZE)-#define TX_RING_SIZE 128 /* must be power of 2 */+#define TX_RING_SIZE 512 /* must be power of 2 */#define TX_RING_BYTES (sizeof(struct macb_dma_desc) * TX_RING_SIZE)/* level of occupied TX descriptors under which we wake up TX process */
From: Nathan Sullivan <redacted>
In recent testing with the RT patchset, we have seen cases where the
transmit ring can fill even with up to 200 txbds in the ring. Increase the
size of the DMA TX ring to avoid overruns.
Signed-off-by: Xander Huff <redacted>
Signed-off-by: Nathan Sullivan <redacted>
This is really a short term solution.
While a larger TX ring may help RT, it's wasteful to have a ring that
large on non-RT. Both uses are valid.
Therefore what really needs to happen is to make this driver support
changing the RX and TX ring sizes at runtime via ethtool just like
pretty much every other driver.
THanks.