mirror of
https://github.com/torvalds/linux.git
synced 2024-11-02 02:01:29 +00:00
bnx2x: properly configure coefficients for MinBW algorithm (NPAR mode).
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
633ac3637a
commit
ff80ee029b
@ -1613,19 +1613,23 @@ static inline u32 reg_poll(struct bnx2x *bp, u32 reg, u32 expected, int ms,
|
||||
#define BNX2X_BTR 4
|
||||
#define MAX_SPQ_PENDING 8
|
||||
|
||||
|
||||
/* CMNG constants
|
||||
derived from lab experiments, and not from system spec calculations !!! */
|
||||
#define DEF_MIN_RATE 100
|
||||
/* CMNG constants, as derived from system spec calculations */
|
||||
/* default MIN rate in case VNIC min rate is configured to zero - 100Mbps */
|
||||
#define DEF_MIN_RATE 100
|
||||
/* resolution of the rate shaping timer - 100 usec */
|
||||
#define RS_PERIODIC_TIMEOUT_USEC 100
|
||||
/* resolution of fairness algorithm in usecs -
|
||||
coefficient for calculating the actual t fair */
|
||||
#define T_FAIR_COEF 10000000
|
||||
#define RS_PERIODIC_TIMEOUT_USEC 100
|
||||
/* number of bytes in single QM arbitration cycle -
|
||||
coefficient for calculating the fairness timer */
|
||||
#define QM_ARB_BYTES 40000
|
||||
#define FAIR_MEM 2
|
||||
* coefficient for calculating the fairness timer */
|
||||
#define QM_ARB_BYTES 160000
|
||||
/* resolution of Min algorithm 1:100 */
|
||||
#define MIN_RES 100
|
||||
/* how many bytes above threshold for the minimal credit of Min algorithm*/
|
||||
#define MIN_ABOVE_THRESH 32768
|
||||
/* Fairness algorithm integration time coefficient -
|
||||
* for calculating the actual Tfair */
|
||||
#define T_FAIR_COEF ((MIN_ABOVE_THRESH + QM_ARB_BYTES) * 8 * MIN_RES)
|
||||
/* Memory of fairness algorithm . 2 cycles */
|
||||
#define FAIR_MEM 2
|
||||
|
||||
|
||||
#define ATTN_NIG_FOR_FUNC (1L << 8)
|
||||
|
@ -2015,7 +2015,8 @@ static void bnx2x_init_vn_minmax(struct bnx2x *bp, int vn)
|
||||
m_fair_vn.vn_credit_delta =
|
||||
max_t(u32, (vn_min_rate * (T_FAIR_COEF /
|
||||
(8 * bp->vn_weight_sum))),
|
||||
(bp->cmng.fair_vars.fair_threshold * 2));
|
||||
(bp->cmng.fair_vars.fair_threshold +
|
||||
MIN_ABOVE_THRESH));
|
||||
DP(NETIF_MSG_IFUP, "m_fair_vn.vn_credit_delta %d\n",
|
||||
m_fair_vn.vn_credit_delta);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user