From 646a886a11e34980b9aef6f9c3e12c1a0a2aafd3 Mon Sep 17 00:00:00 2001 From: Stephen Sun <5379172+stephenxs@users.noreply.github.com> Date: Wed, 8 Dec 2021 21:51:33 +0800 Subject: [PATCH] [Mellanox] Adjust buffer parameters with 2km cable supported for 4600C non-generic SKUs (#9215) - Why I did it Also recalculated all parameters with the latest algorithm with per-speed peer response time taken into account - How I did it Detailed information of each SKU: C64: t0: 32 100G downlinks and 32 100G uplinks t1: 56 100G downlinks and 8 100G uplinks with 2km-cable supported D112C8: 112 50G downlinks and 8 100G uplinks. D48C40: 48 50G downlinks, 32 100G downlinks, and 8 100G uplinks D100C12S2: 4 100G downlinks, 2 10G downlinks, 100 50G downlinks, and 8 100G uplinks 2km cable is supported for C64 on t1 only - How to verify it Run regression test (QoS) Signed-off-by: Stephen Sun --- .../buffers_defaults_t0.j2 | 6 ++-- .../buffers_defaults_t1.j2 | 6 ++-- .../buffers_defaults_t0.j2 | 6 ++-- .../buffers_defaults_t1.j2 | 6 ++-- .../buffers_defaults_t0.j2 | 6 ++-- .../buffers_defaults_t1.j2 | 6 ++-- .../pg_profile_lookup.ini | 34 +++++++++---------- .../buffers_defaults_t0.j2 | 6 ++-- .../buffers_defaults_t1.j2 | 6 ++-- 9 files changed, 41 insertions(+), 41 deletions(-) diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t0.j2 index 9b624e8af54b..75d516771771 100644 --- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t0.j2 +++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t0.j2 @@ -15,10 +15,10 @@ limitations under the License. #} {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '53379072' %} -{% set ingress_lossless_xoff_size = '1540096' %} +{% set ingress_lossless_pool_size = '49905664' %} +{% set ingress_lossless_xoff_size = '3702784' %} {% set egress_lossless_pool_size = '60817392' %} -{% set egress_lossy_pool_size = '53379072' %} +{% set egress_lossy_pool_size = '49905664' %} {% import 'buffers_defaults_objects.j2' as defs with context %} diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t1.j2 index 474c9caff5e3..bc0f20966944 100644 --- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t1.j2 +++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t1.j2 @@ -15,10 +15,10 @@ limitations under the License. #} {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '52723712' %} -{% set ingress_lossless_xoff_size = '2195456' %} +{% set ingress_lossless_pool_size = '48332800' %} +{% set ingress_lossless_xoff_size = '5275648' %} {% set egress_lossless_pool_size = '60817392' %} -{% set egress_lossy_pool_size = '52723712' %} +{% set egress_lossy_pool_size = '48332800' %} {% import 'buffers_defaults_objects.j2' as defs with context %} diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D100C12S2/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D100C12S2/buffers_defaults_t0.j2 index 7b7ab1ec7e5b..fb4cff886aa8 100644 --- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D100C12S2/buffers_defaults_t0.j2 +++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D100C12S2/buffers_defaults_t0.j2 @@ -16,10 +16,10 @@ #} {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '48228352' %} -{% set ingress_lossless_xoff_size = '2287616' %} +{% set ingress_lossless_pool_size = '44566528' %} +{% set ingress_lossless_xoff_size = '3614720' %} {% set egress_lossless_pool_size = '60817392' %} -{% set egress_lossy_pool_size = '48228352' %} +{% set egress_lossy_pool_size = '44566528' %} {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D100C12S2/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D100C12S2/buffers_defaults_t1.j2 index 869b8d7f3be9..f4cd4b4b47d9 100644 --- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D100C12S2/buffers_defaults_t1.j2 +++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D100C12S2/buffers_defaults_t1.j2 @@ -16,10 +16,10 @@ #} {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '46315520' %} -{% set ingress_lossless_xoff_size = '4200448' %} +{% set ingress_lossless_pool_size = '43794432' %} +{% set ingress_lossless_xoff_size = '4386816' %} {% set egress_lossless_pool_size = '60817392' %} -{% set egress_lossy_pool_size = '46315520' %} +{% set egress_lossy_pool_size = '43794432' %} {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t0.j2 index ed9ef2273e42..16d56b62cd5f 100644 --- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t0.j2 +++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t0.j2 @@ -15,10 +15,10 @@ limitations under the License. #} {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '47587328' %} -{% set ingress_lossless_xoff_size = '2400256' %} +{% set ingress_lossless_pool_size = '43827200' %} +{% set ingress_lossless_xoff_size = '3702784' %} {% set egress_lossless_pool_size = '60817392' %} -{% set egress_lossy_pool_size = '47587328' %} +{% set egress_lossy_pool_size = '43827200' %} {% import 'buffers_defaults_objects.j2' as defs with context %} diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t1.j2 index fa145ce77a24..34faa886e253 100644 --- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t1.j2 +++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t1.j2 @@ -15,10 +15,10 @@ limitations under the License. #} {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '46702592' %} -{% set ingress_lossless_xoff_size = '3284992' %} +{% set ingress_lossless_pool_size = '43048960' %} +{% set ingress_lossless_xoff_size = '4481024' %} {% set egress_lossless_pool_size = '60817392' %} -{% set egress_lossy_pool_size = '46702592' %} +{% set egress_lossy_pool_size = '43048960' %} {% import 'buffers_defaults_objects.j2' as defs with context %} diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/pg_profile_lookup.ini b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/pg_profile_lookup.ini index d32deb3298aa..d4d085610dfc 100644 --- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/pg_profile_lookup.ini +++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/pg_profile_lookup.ini @@ -17,22 +17,22 @@ # PG lossless profiles. # speed cable size xon xoff threshold 10000 5m 19456 19456 24576 0 - 25000 5m 19456 19456 24576 0 - 40000 5m 19456 19456 24576 0 - 50000 5m 19456 19456 24576 0 - 100000 5m 19456 19456 25600 0 - 10000 40m 19456 19456 24576 0 - 25000 40m 19456 19456 26624 0 - 40000 40m 19456 19456 27648 0 - 50000 40m 19456 19456 28672 0 - 100000 40m 19456 19456 32768 0 + 25000 5m 19456 19456 26624 0 + 40000 5m 19456 19456 30720 0 + 50000 5m 19456 19456 33792 0 + 100000 5m 19456 19456 59392 0 + 10000 40m 19456 19456 25600 0 + 25000 40m 19456 19456 28672 0 + 40000 40m 19456 19456 33792 0 + 50000 40m 19456 19456 36864 0 + 100000 40m 19456 19456 66560 0 10000 300m 19456 19456 30720 0 - 25000 300m 19456 19456 39936 0 - 40000 300m 19456 19456 49152 0 - 50000 300m 19456 19456 55296 0 - 100000 300m 19456 19456 86016 0 + 25000 300m 19456 19456 41984 0 + 40000 300m 19456 19456 54272 0 + 50000 300m 19456 19456 63488 0 + 100000 300m 19456 19456 120832 0 10000 2000m 19456 19456 32768 0 - 25000 2000m 19456 19456 63488 0 - 40000 2000m 19456 19456 94208 0 - 50000 2000m 19456 19456 114688 0 - 100000 2000m 19456 19456 217088 0 + 25000 2000m 19456 19456 64512 0 + 40000 2000m 19456 19456 97280 0 + 50000 2000m 19456 19456 119808 0 + 100000 2000m 19456 19456 234496 0 diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t0.j2 index 4f4997a61594..09138bb9bf7f 100644 --- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t0.j2 +++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t0.j2 @@ -15,10 +15,10 @@ limitations under the License. #} {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '50995200' %} -{% set ingress_lossless_xoff_size = '1810432' %} +{% set ingress_lossless_pool_size = '47398912' %} +{% set ingress_lossless_xoff_size = '3604480' %} {% set egress_lossless_pool_size = '60817392' %} -{% set egress_lossy_pool_size = '50995200' %} +{% set egress_lossy_pool_size = '47398912' %} {% import 'buffers_defaults_objects.j2' as defs with context %} diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t1.j2 index 5100d2787c57..ea9038f3ea5e 100644 --- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t1.j2 +++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t1.j2 @@ -15,10 +15,10 @@ limitations under the License. #} {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '50143232' %} -{% set ingress_lossless_xoff_size = '2662400' %} +{% set ingress_lossless_pool_size = '46587904' %} +{% set ingress_lossless_xoff_size = '4415488' %} {% set egress_lossless_pool_size = '60817392' %} -{% set egress_lossy_pool_size = '50143232' %} +{% set egress_lossy_pool_size = '46587904' %} {% import 'buffers_defaults_objects.j2' as defs with context %}