diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2014-02-18 16:04:44 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2014-02-18 16:04:44 +0000 |
commit | d0baf851e0a717f9c1aeedaface4ba01c1d76dec (patch) | |
tree | 9b44e23de5cd63181d2b660970723d83dd0762de /src/testbed | |
parent | 6b75b4dc34ff61e06844277c7cc9ff38d49fffeb (diff) | |
download | gnunet-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.c | 17 |
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) |