The service core samples has varied profiles created to run on specified
lcore count. The patch adds the check before each run, to ensure
example has sufficent lcores to be added as service cores on given run
profile. If sufficent cores are not found, the run is skipped with user
notification.

Signed-off-by: Vipin Varghese <vipin.vargh...@intel.com>
---
 examples/service_cores/main.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/examples/service_cores/main.c b/examples/service_cores/main.c
index 2cd572904..c7c792810 100644
--- a/examples/service_cores/main.c
+++ b/examples/service_cores/main.c
@@ -118,6 +118,12 @@ apply_profile(int profile_id)
        struct profile *p = &profiles[profile_id];
        const uint8_t core_off = 1;
 
+       if (p->num_cores > rte_lcore_count() + 1) {
+               printf("insufficent cores to run (%s)",
+                       p->name);
+               return;
+       }
+
        for (i = 0; i < p->num_cores; i++) {
                uint32_t core = i + core_off;
                ret = rte_service_lcore_add(core);
-- 
2.17.1

Reply via email to