From 72ed8c6e76f1d0512898cf14b429b667f8e6a713 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Sat, 23 May 2020 07:19:48 -0700 Subject: [PATCH] sim,dev: Get rid of the global retryTime constant. This constant isn't in normalized units, ie doesn't scale when the time value of a Tick changes, is global, has an extremely generic name even though it's only used by a few ethernet devices, and has an arbitrary value. Get rid of it, and replace it with 1ns, what it would typically be equivalent to when using the default 1ps time scale. Change-Id: I31d9dad438f854b4152cd53c9a7042a25d13e0a6 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/29398 Reviewed-by: Jason Lowe-Power Maintainer: Gabe Black Tested-by: kokoro --- src/dev/net/etherswitch.cc | 2 +- src/dev/net/ethertap.cc | 4 ++-- src/dev/net/ns_gige.cc | 2 +- src/sim/core.hh | 2 -- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/dev/net/etherswitch.cc b/src/dev/net/etherswitch.cc index e7a60a17d..972cf56b8 100644 --- a/src/dev/net/etherswitch.cc +++ b/src/dev/net/etherswitch.cc @@ -184,7 +184,7 @@ EtherSwitch::Interface::transmit() if (!sendPacket(outputFifo.front())) { DPRINTF(Ethernet, "output port busy...retry later\n"); if (!txEvent.scheduled()) - parent->schedule(txEvent, curTick() + retryTime); + parent->schedule(txEvent, curTick() + SimClock::Int::ns); } else { DPRINTF(Ethernet, "packet sent: len=%d\n", outputFifo.front()->length); outputFifo.pop(); diff --git a/src/dev/net/ethertap.cc b/src/dev/net/ethertap.cc index 33bafb701..f4aba21aa 100644 --- a/src/dev/net/ethertap.cc +++ b/src/dev/net/ethertap.cc @@ -196,7 +196,7 @@ EtherTapBase::sendSimulated(void *data, size_t len) DPRINTF(Ethernet, "bus busy...buffer for retransmission\n"); packetBuffer.push(packet); if (!txEvent.scheduled()) - schedule(txEvent, curTick() + retryTime); + schedule(txEvent, curTick() + SimClock::Int::ns); } else if (dump) { dump->dump(packet); } @@ -218,7 +218,7 @@ EtherTapBase::retransmit() } if (!packetBuffer.empty() && !txEvent.scheduled()) - schedule(txEvent, curTick() + retryTime); + schedule(txEvent, curTick() + SimClock::Int::ns); } diff --git a/src/dev/net/ns_gige.cc b/src/dev/net/ns_gige.cc index 68c449747..71f449a4d 100644 --- a/src/dev/net/ns_gige.cc +++ b/src/dev/net/ns_gige.cc @@ -1395,7 +1395,7 @@ NSGigE::transmit() if (!txFifo.empty() && !txEvent.scheduled()) { DPRINTF(Ethernet, "reschedule transmit\n"); - schedule(txEvent, curTick() + retryTime); + schedule(txEvent, curTick() + SimClock::Int::ns); } } diff --git a/src/sim/core.hh b/src/sim/core.hh index 7a7e91131..48b70960b 100644 --- a/src/sim/core.hh +++ b/src/sim/core.hh @@ -43,8 +43,6 @@ /// The universal simulation clock. inline Tick curTick() { return _curEventQueue->getCurTick(); } -const Tick retryTime = 1000; - /// These are variables that are set based on the simulator frequency ///@{ namespace SimClock { -- 2.30.2