examples/service_cores: check lcores before test run

Message ID 20181012131403.36566-1-vipin.varghese@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series examples/service_cores: check lcores before test run |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Varghese, Vipin Oct. 12, 2018, 1:14 p.m. UTC
  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

Van Haaren, Harry Oct. 17, 2018, 2:57 p.m. UTC | #1
> -----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>
  
Thomas Monjalon Oct. 29, 2018, 2:06 a.m. UTC | #2
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
  

Patch

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);