Skip to contentSkip to conversation

igb: Clarify idleslope config constraints

PATCH New Jesus Sanchez-Palencia 2 participants 3 messages Nov 10, 2017 – Nov 29, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 igb: Clarify idleslope config constraints

By design, the idleslope increments are restricted to 16.384kbps steps. Add a comment to igb_main.c making that explicit and add one example that illustrates the impact of that.

---
 drivers/net/ethernet/intel/igb/igb_main.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
drivers/net/ethernet/intel/igb/igb_main.c +14 -0
index 43cf39527660..d56c998f3f14 100644
@@ -1744,6 +1744,20 @@ static void igb_configure_cbs(struct igb_adapter *adapter, int queue,
 		 *     value = idleSlope * 61034
 		 *             -----------------                          (E6)
 		 *                  1000000
+		 *
+		 * NOTE: For i210, given the above, we can see that idleslope
+		 *       is represented in 16.38431 kbps units by the value at
+		 *       the TQAVCC register (1Gbps / 61034), which reduces
+		 *       the granularity for idleslope increments.
+		 *       For instance, if you want to configure a 2576kbps
+		 *       idleslope, the value to be written on the register
+		 *       would have to be 157.23. If rounded down, you end
+		 *       up with less bandwidth available than originally
+		 *       required (~2572 kbps). If rounded up, you end up
+		 *       with a higher bandwidth (~2589 kbps). Below the
+		 *       approach we take is to always round up the
+		 *       calculated value, so the resulting bandwidth might
+		 *       be slightly higher for some configurations.
 		 */
 		value = DIV_ROUND_UP_ULL(idleslope * 61034ULL, 1000000);
 
Signature · 1 line
2.14.1
#1 lore raw

PATCH 1/1 igb: Clarify idleslope config constraints

Quoted 36 lines · Jesus Sanchez-Palencia

By design, the idleslope increments are restricted to 16.384kbps steps. Add a comment to igb_main.c making that explicit and add one example that illustrates the impact of that.

---
?drivers/net/ethernet/intel/igb/igb_main.c | 14 ++++++++++++++ ?1 file changed, 14 insertions(+)

drivers/net/ethernet/intel/igb/igb_main.c +0 -0
index 43cf39527660..d56c998f3f14 100644
@@ -1744,6 +1744,20 @@ static void igb_configure_cbs(struct igb_adapter
 *adapter, int queue,

? ?*?????value = idleSlope * 61034
? ?*?????????????--------------
---??????????????????????????(E6)
? ?*??????????????????1000000

drivers/net/ethernet/intel/igb/igb_main.c +2 -0
+		?*
+		?* NOTE: For i210, given the above, we can see that

idleslope

drivers/net/ethernet/intel/igb/igb_main.c +1 -0
+		?*???????is represented in 16.38431 kbps units by the value

at

drivers/net/ethernet/intel/igb/igb_main.c +11 -0
+		?*???????the TQAVCC register (1Gbps / 61034), which reduces
+		?*???????the granularity for idleslope increments.
+		?*???????For instance, if you want to configure a 2576kbps
+		?*???????idleslope, the value to be written on the register
+		?*???????would have to be 157.23. If rounded down, you end
+		?*???????up with less bandwidth available than originally
+		?*???????required (~2572 kbps). If rounded up, you end up
+		?*???????with a higher bandwidth (~2589 kbps). Below the
+		?*???????approach we take is to always round up the
+		?*???????calculated value, so the resulting bandwidth might
+		?*???????be slightly higher for some configurations.
Quoted 3 lines

? ?*/
? value = DIV_ROUND_UP_ULL(idleslope * 61034ULL, 1000000);
?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3262 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20171110/bf3b55bd/attachment-0001.bin>

#2 lore raw

PATCH 1/1 igb: Clarify idleslope config constraints

In reply to Jesus Sanchez-Palencia
Quoted 9 lines

From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On Behalf Of Jesus Sanchez-Palencia
Sent: Friday, November 10, 2017 2:22 PM
To: intel-wired-lan at lists.osuosl.org
Cc: Sanchez-Palencia, Jesus <[email protected]>; Guedes, Andre <[email protected]>; Briano, Ivan <[email protected]>
Subject: [Intel-wired-lan] [PATCH net-next] igb: Clarify idleslope config constraints

Quoted 8 lines

By design, the idleslope increments are restricted to 16.384kbps steps. Add a comment to igb_main.c making that explicit and add one example that illustrates the impact of that.

---
 drivers/net/ethernet/intel/igb/igb_main.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)