examples/service_cores: check lcores before test run
Checks
Commit Message
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.varghese@intel.com>
---
examples/service_cores/main.c | 6 ++++++
1 file changed, 6 insertions(+)
Comments
> -----Original Message-----
> From: Varghese, Vipin
> Sent: Friday, October 12, 2018 6:14 AM
> To: dev@dpdk.org; Van Haaren, Harry <harry.van.haaren@intel.com>
> Cc: Byrne, Stephen1 <stephen1.byrne@intel.com>; Varghese, Vipin
> <vipin.varghese@intel.com>
> Subject: [PATCH] examples/service_cores: check lcores before test run
>
> 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.varghese@intel.com>
> ---
The +1 feels weird, but given there's a core offset of 1 above,
this seems like the best solution:
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
17/10/2018 16:57, Van Haaren, Harry:
> From: Varghese, Vipin
> >
> > 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.varghese@intel.com>
> > ---
>
> The +1 feels weird, but given there's a core offset of 1 above,
> this seems like the best solution:
>
> Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Applied, thanks
@@ -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);