| Summary: | bnx2: Increase max rx ring size from 1K to 2K | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Brian Maly <bmaly> |
| Component: | kernel | Assignee: | Neil Horman <nhorman> |
| Status: | CLOSED DUPLICATE | QA Contact: | Red Hat Kernel QE team <kernel-qe> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.3 | CC: | nhorman |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2011-12-13 20:07:25 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
This fix does not seem to be in the -220 kernel, however its in the RHEL5 kernel. See bz640026. I expect I'll roll this into a larger bnx2 update for 6.3 I've put this in my tree, and will be releasing it with the 6.3 bnx2 update as tracked by bz720428 *** This bug has been marked as a duplicate of bug 720428 *** |
Description of problem: On IBM HS22 hardware we appear to run out of rx ringbuffer at times, the interface stops receiving and rx_fw_discards starts climbing. We are running 9000MTU, heavy IO and heavy CPU. Version-Release number of selected component (if applicable): RHEL6.0 RHEL6.1 RHEL6.2 How reproducible: Reproduces in about 12hrs or less usually. Steps to Reproduce: 1. set nic MTU to 9000 2. run heavy I/O load over NIC, heavy CPU load as well 3. watch for rx dropped rframes, rx_fw_discards starts rising Actual results: Expected results: Additional info: The following upstream commit resolves the issue: Author: Michael Chan <mchan> 2010-10-18 10:30:54 Committer: David S. Miller <davem> 2010-10-21 06:09:47 Parent: 3511c9132f8b1e1b5634e41a3331c44b0c13be70 (net_sched: remove the unused parameter of qdisc_create_dflt()) Child: f4e8ab7cc4e819011ca6325e54383b3da7a5d130 (smsc95xx: generate random MAC address once, not every ifup) Branches: master, remotes/origin/master Follows: v2.6.36-rc7 Precedes: v2.6.37-rc1 bnx2: Increase max rx ring size from 1K to 2K A number of customers are reporting packet loss under certain workloads (e.g. heavy bursts of small packets) with flow control disabled. A larger rx ring helps to prevent these losses. No change in default rx ring size and memory consumption. Signed-off-by: Andy Gospodarek <andy> Acked-by: John Feeney <jfeeney> Signed-off-by: Michael Chan <mchan> Signed-off-by: David S. Miller <davem> ------------------------------ drivers/net/bnx2.h ------------------------------ index 4f44db6..bf4c342 100644 @@ -6502,8 +6502,8 @@ struct l2_fhdr { #define TX_DESC_CNT (BCM_PAGE_SIZE / sizeof(struct tx_bd)) #define MAX_TX_DESC_CNT (TX_DESC_CNT - 1) -#define MAX_RX_RINGS 4 -#define MAX_RX_PG_RINGS 16 +#define MAX_RX_RINGS 8 +#define MAX_RX_PG_RINGS 32 #define RX_DESC_CNT (BCM_PAGE_SIZE / sizeof(struct rx_bd)) #define MAX_RX_DESC_CNT (RX_DESC_CNT - 1) #define MAX_TOTAL_RX_DESC_CNT (MAX_RX_DESC_CNT * MAX_RX_RINGS)