From e9ea3d793429ffc4dcef881387a088bbf3c06800 Mon Sep 17 00:00:00 2001 From: "Srivats P." Date: Wed, 12 Oct 2011 20:20:36 +0530 Subject: [PATCH] Added a minimum size of packets to be looped to improve performance. Also a bug fix that led to incorrect timing between packets --- server/abstractport.cpp | 4 ++++ server/pcapport.cpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/server/abstractport.cpp b/server/abstractport.cpp index e186227..715d07d 100644 --- a/server/abstractport.cpp +++ b/server/abstractport.cpp @@ -138,6 +138,7 @@ void AbstractPort::updatePacketList() void AbstractPort::updatePacketListSequential() { + const int kMinLoopSize = 16; long sec = 0; long nsec = 0; @@ -189,6 +190,9 @@ void AbstractPort::updatePacketListSequential() break; case OstProto::StreamControl::e_su_packets: x = frameVariableCount; + n = 2; + while (x < kMinLoopSize) + x = frameVariableCount*n++; n = streamList_[i]->numPackets() / x; y = streamList_[i]->numPackets() % x; burstSize = x + y; diff --git a/server/pcapport.cpp b/server/pcapport.cpp index d31291b..5850447 100644 --- a/server/pcapport.cpp +++ b/server/pcapport.cpp @@ -451,7 +451,7 @@ _restart: { long usecs = packetSequenceList_.at(i+k)->usecDelay_ + overHead; - if (usecs) + if (usecs > 0) { udelay(usecs); overHead = 0;