diff options
author | Zoltan Kiss <zoltan.kiss@linaro.org> | 2015-12-15 19:11:22 +0000 |
---|---|---|
committer | Zoltan Kiss <zoltan.kiss@linaro.org> | 2015-12-18 17:02:08 +0000 |
commit | cd7e8754a547d6d165b74d5258ce6b4dd60e653d (patch) | |
tree | d84041254b61d4c12739dc001490f987ef06fa9e /platform/linux-dpdk | |
parent | e886513b57fca4c00f4c8774cc93efb8d99b5101 (diff) |
linux-dpdk: pool: check returned number of workers
Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org>
Diffstat (limited to 'platform/linux-dpdk')
-rw-r--r-- | platform/linux-dpdk/odp_pool.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/platform/linux-dpdk/odp_pool.c b/platform/linux-dpdk/odp_pool.c index 2640c6ea5..98c83d395 100644 --- a/platform/linux-dpdk/odp_pool.c +++ b/platform/linux-dpdk/odp_pool.c @@ -325,7 +325,13 @@ odp_pool_t odp_pool_create(const char *name, odp_pool_param_t *params) int num_workers = odp_cpumask_default_worker(&dummy_mask, 0); - cache_overhead = cache_size * 1.5 * (num_workers - 1); + if (num_workers < 0) + ODP_ABORT("Worker number fail! %d\n", + num_workers); + if (num_workers) + num_workers -= 1; + + cache_overhead = cache_size * 1.5 * num_workers; if (num + cache_overhead < num) num = UINT32_MAX; else |