Skip to content

Commit

Permalink
Optimizing testQosSaiHeadroomPoolSize runtime (sonic-net#8775)
Browse files Browse the repository at this point in the history
* Optimizing HeadroomPoolSize runtime
  • Loading branch information
ansrajpu-git authored and AharonMalkin committed Jan 25, 2024
1 parent 7057861 commit 8ca4243
Showing 1 changed file with 39 additions and 13 deletions.
52 changes: 39 additions & 13 deletions tests/saitests/py3/sai_qos_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -2311,12 +2311,26 @@ def runTest(self):
pkt_cnt = pkts_num_trig_pfc // self.pkt_size_factor
send_packet(
self, self.src_port_ids[sidx_dscp_pg_tuples[i][0]], pkt, int(pkt_cnt))
if platform_asic != "broadcom-dnx":
time.sleep(8) # wait pfc counter refresh and show the counters
self.show_port_counter(self.asic_type, recv_counters_bases, xmit_counters_base,
'To fill service pool, send {} pkt with DSCP {} PG {} from src_port{}'
' to dst_port'.format(pkt_cnt, sidx_dscp_pg_tuples[i][1],
sidx_dscp_pg_tuples[i][2], sidx_dscp_pg_tuples[i][0]))

time.sleep(8) # wait pfc counter refresh
self.show_port_counter(
self.asic_type, recv_counters_bases, xmit_counters_base,
'To fill service pool, send {} pkt with DSCP {} PG {} from src_port{} to dst_port'
.format(pkt_cnt, sidx_dscp_pg_tuples[i][1], sidx_dscp_pg_tuples[i][2], sidx_dscp_pg_tuples[i][0]))
if platform_asic and platform_asic == "broadcom-dnx":
time.sleep(8) # wait pfc counter refresh and show the counters
for i in range(0, self.pgs_num):
if self.pkts_num_trig_pfc:
pkts_num_trig_pfc = self.pkts_num_trig_pfc
else:
pkts_num_trig_pfc = self.pkts_num_trig_pfc_shp[i]

pkt_cnt = pkts_num_trig_pfc // self.pkt_size_factor
self.show_port_counter(self.asic_type, recv_counters_bases, xmit_counters_base,
'To fill service pool, send {} pkt with DSCP {} PG {} from src_port{}'
' to dst_port'.format(pkt_cnt, sidx_dscp_pg_tuples[i][1],
sidx_dscp_pg_tuples[i][2], sidx_dscp_pg_tuples[i][0]))

print("Service pool almost filled", file=sys.stderr)
sys.stderr.flush()
Expand Down Expand Up @@ -2352,7 +2366,9 @@ def runTest(self):
# queue_counters value is not of our interest here
recv_counters, _ = sai_thrift_read_port_counters(
self.src_client, self.asic_type, port_list['src'][self.src_port_ids[sidx_dscp_pg_tuples[i][0]]])
time.sleep(8) # wait pfc counter refresh

if platform_asic != "broadcom-dnx":
time.sleep(8) # wait pfc counter refresh
self.show_port_counter(
self.asic_type, recv_counters_bases, xmit_counters_base,
'To trigger PFC, send {} pkt with DSCP {} PG {} from src_port{} to dst_port'
Expand Down Expand Up @@ -2398,17 +2414,27 @@ def runTest(self):
ip_tos=tos,
ip_ttl=ttl)

pkt_cnt = self.pkts_num_hdrm_full // self.pkt_size_factor if i != self.pgs_num - \
1 else self.pkts_num_hdrm_partial // self.pkt_size_factor
pkt_cnt = self.pkts_num_hdrm_full // self.pkt_size_factor if i != self.pgs_num - 1 \
else self.pkts_num_hdrm_partial // self.pkt_size_factor
send_packet(
self, self.src_port_ids[sidx_dscp_pg_tuples[i][0]], pkt, pkt_cnt)
# allow enough time for the dut to sync up the counter values in counters_db
time.sleep(8)
if platform_asic != "broadcom-dnx":
time.sleep(8)
self.show_port_counter(self.asic_type, recv_counters_bases, xmit_counters_base,
'To fill headroom pool, send {} pkt with DSCP {} PG {} from src_port{} '
'to dst_port'.format(pkt_cnt, sidx_dscp_pg_tuples[i][1],
sidx_dscp_pg_tuples[i][2], sidx_dscp_pg_tuples[i][0]))

self.show_port_counter(
self.asic_type, recv_counters_bases, xmit_counters_base,
'To fill headroom pool, send {} pkt with DSCP {} PG {} from src_port{} to dst_port'
.format(pkt_cnt, sidx_dscp_pg_tuples[i][1], sidx_dscp_pg_tuples[i][2], sidx_dscp_pg_tuples[i][0]))
if platform_asic and platform_asic == "broadcom-dnx":
time.sleep(8)
for i in range(0, self.pgs_num):
pkt_cnt = self.pkts_num_hdrm_full // self.pkt_size_factor if i != self.pgs_num - 1 \
else self.pkts_num_hdrm_partial // self.pkt_size_factor
self.show_port_counter(self.asic_type, recv_counters_bases, xmit_counters_base,
'To fill headroom pool, send {} pkt with DSCP {} PG {} from src_port{}'
' to dst_port'.format(pkt_cnt, sidx_dscp_pg_tuples[i][1],
sidx_dscp_pg_tuples[i][2], sidx_dscp_pg_tuples[i][0]))

recv_counters, _ = sai_thrift_read_port_counters(
self.src_client, self.asic_type, port_list['src'][self.src_port_ids[sidx_dscp_pg_tuples[i][0]]])
Expand Down

0 comments on commit 8ca4243

Please sign in to comment.