@@ -39,6 +39,8 @@ using namespace lookups;
3939// Constants
4040// ---------------------------------------------------------------------------
4141
42+ #define THREAD_CYCLE_THRESHOLD 2U
43+
4244#define IDLE_WARMUP_MS 5U
4345#define DEFAULT_MTU_SIZE 496
4446
@@ -646,10 +648,18 @@ void* HostFNE::threadMasterNetwork(void* arg)
646648 ::pthread_setname_np (th->thread, threadName.c_str());
647649#endif // _GNU_SOURCE
648650
651+ StopWatch stopWatch;
652+ stopWatch.start ();
653+
649654 if (fne->m_network != nullptr ) {
650655 while (!g_killed) {
656+ uint32_t ms = stopWatch.elapsed ();
657+ stopWatch.start ();
658+
651659 fne->m_network ->processNetwork ();
652- Thread::sleep (5U );
660+
661+ if (ms < THREAD_CYCLE_THRESHOLD)
662+ Thread::sleep (THREAD_CYCLE_THRESHOLD);
653663 }
654664 }
655665
@@ -694,10 +704,18 @@ void* HostFNE::threadDiagNetwork(void* arg)
694704 ::pthread_setname_np (th->thread, threadName.c_str());
695705#endif // _GNU_SOURCE
696706
707+ StopWatch stopWatch;
708+ stopWatch.start ();
709+
697710 if (fne->m_diagNetwork != nullptr ) {
698711 while (!g_killed) {
712+ uint32_t ms = stopWatch.elapsed ();
713+ stopWatch.start ();
714+
699715 fne->m_diagNetwork ->processNetwork ();
700- Thread::sleep (5U );
716+
717+ if (ms < THREAD_CYCLE_THRESHOLD)
718+ Thread::sleep (THREAD_CYCLE_THRESHOLD);
701719 }
702720 }
703721
@@ -890,6 +908,7 @@ void* HostFNE::threadVirtualNetworking(void* arg)
890908 stopWatch.start ();
891909
892910 while (!g_killed) {
911+ uint32_t ms = stopWatch.elapsed ();
893912 stopWatch.start ();
894913
895914 uint8_t packet[DEFAULT_MTU_SIZE];
@@ -908,7 +927,8 @@ void* HostFNE::threadVirtualNetworking(void* arg)
908927 }
909928 }
910929
911- Thread::sleep (2U );
930+ if (ms < THREAD_CYCLE_THRESHOLD)
931+ Thread::sleep (THREAD_CYCLE_THRESHOLD);
912932 }
913933 }
914934
@@ -968,7 +988,8 @@ void* HostFNE::threadVirtualNetworkingClock(void* arg)
968988 break ;
969989 }
970990
971- Thread::sleep (2U );
991+ if (ms < THREAD_CYCLE_THRESHOLD)
992+ Thread::sleep (THREAD_CYCLE_THRESHOLD);
972993 }
973994 }
974995
0 commit comments