From 22dbdc9459e0b9086d31b4c1ce9867a4155896d7 Mon Sep 17 00:00:00 2001 From: Winter Date: Sat, 30 Jan 2016 12:03:11 +0100 Subject: [PATCH] dataflow_cpp: query maximum number of queues for sequential processes in addition to the core count and use the minimum --- dataflow_cpp/include/embb/dataflow/internal/scheduler_mtapi.h | 6 +++++- dataflow_cpp/test/dataflow_cpp_test_simple.cc | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/dataflow_cpp/include/embb/dataflow/internal/scheduler_mtapi.h b/dataflow_cpp/include/embb/dataflow/internal/scheduler_mtapi.h index 8f1271e..9d519ad 100644 --- a/dataflow_cpp/include/embb/dataflow/internal/scheduler_mtapi.h +++ b/dataflow_cpp/include/embb/dataflow/internal/scheduler_mtapi.h @@ -32,6 +32,8 @@ #include #include +#include + namespace embb { namespace dataflow { namespace internal { @@ -46,7 +48,9 @@ class SchedulerMTAPI : public Scheduler { group_[ii] = &group; } - queue_count_ = static_cast(node.GetWorkerThreadCount()); + queue_count_ = std::min( + static_cast(node.GetQueueCount()), + static_cast(node.GetWorkerThreadCount()) ); queue_ = reinterpret_cast( embb::base::Allocation::Allocate( sizeof(embb::tasks::Queue*)*queue_count_)); diff --git a/dataflow_cpp/test/dataflow_cpp_test_simple.cc b/dataflow_cpp/test/dataflow_cpp_test_simple.cc index b434625..8e42488 100644 --- a/dataflow_cpp/test/dataflow_cpp_test_simple.cc +++ b/dataflow_cpp/test/dataflow_cpp_test_simple.cc @@ -156,7 +156,7 @@ void SimpleTest::TestBasic() { core_set, 1024, // max tasks (default: 1024) 128, // max groups (default: 128) - num_cores, // max queues (default: 16) + 2, // max queues (default: 16) 1024, // queue capacity (default: 1024) 4); // num priorities (default: 4) -- libgit2 0.26.0