aboutsummaryrefslogtreecommitdiff
path: root/src/testbed
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2014-02-18 16:04:44 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2014-02-18 16:04:44 +0000
commitd0baf851e0a717f9c1aeedaface4ba01c1d76dec (patch)
tree9b44e23de5cd63181d2b660970723d83dd0762de /src/testbed
parent6b75b4dc34ff61e06844277c7cc9ff38d49fffeb (diff)
downloadgnunet-d0baf851e0a717f9c1aeedaface4ba01c1d76dec.tar.gz
gnunet-d0baf851e0a717f9c1aeedaface4ba01c1d76dec.zip
Do not let parallelism fall below the default parallelism value for adaptive queues.
Diffstat (limited to 'src/testbed')
-rw-r--r--src/testbed/testbed_api_operations.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/testbed/testbed_api_operations.c b/src/testbed/testbed_api_operations.c
index 07fb4940d..a9eafef4e 100644
--- a/src/testbed/testbed_api_operations.c
+++ b/src/testbed/testbed_api_operations.c
@@ -876,6 +876,7 @@ adapt_parallelism (struct OperationQueue *queue)
876 int sd; 876 int sd;
877 unsigned int nvals; 877 unsigned int nvals;
878 unsigned int cnt; 878 unsigned int cnt;
879 unsigned int parallelism;
879 880
880 avg = GNUNET_TIME_UNIT_ZERO; 881 avg = GNUNET_TIME_UNIT_ZERO;
881 nvals = 0; 882 nvals = 0;
@@ -907,19 +908,17 @@ adapt_parallelism (struct OperationQueue *queue)
907 adaptive_queue_set_max_active (queue, queue->max_active); /* no change */ 908 adaptive_queue_set_max_active (queue, queue->max_active); /* no change */
908 return; 909 return;
909 } 910 }
911 parallelism = 0;
910 if (-1 == sd) 912 if (-1 == sd)
911 adaptive_queue_set_max_active (queue, queue->max_active + 1); 913 parallelism = queue->max_active + 1;
912 if (sd <= -2) 914 if (sd <= -2)
913 adaptive_queue_set_max_active (queue, queue->max_active * 2); 915 parallelism = queue->max_active * 2;
914 if (1 == queue->max_active)
915 {
916 adaptive_queue_set_max_active (queue, 1);
917 return;
918 }
919 if (1 == sd) 916 if (1 == sd)
920 adaptive_queue_set_max_active (queue, queue->max_active - 1); 917 parallelism = queue->max_active - 1;
921 if (2 <= sd) 918 if (2 <= sd)
922 adaptive_queue_set_max_active (queue, queue->max_active / 2); 919 parallelism = queue->max_active / 2;
920 parallelism = GNUNET_MAX (parallelism, ADAPTIVE_QUEUE_DEFAULT_MAX_ACTIVE);
921 adaptive_queue_set_max_active (queue, parallelism);
923 922
924#if 0 /* old algorithm */ 923#if 0 /* old algorithm */
925 if (sd < 0) 924 if (sd < 0)