From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: Re: [PATCH 3/6] service cores: EAL init changes Date: Mon, 26 Jun 2017 18:25:00 +0530 Message-ID: <20170626125459.GC5612@jerin> References: <1498208779-166205-1-git-send-email-harry.van.haaren@intel.com> <1498208779-166205-3-git-send-email-harry.van.haaren@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org, thomas@monjalon.net, keith.wiles@intel.com, bruce.richardson@intel.com To: Harry van Haaren Return-path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0042.outbound.protection.outlook.com [104.47.41.42]) by dpdk.org (Postfix) with ESMTP id C2309968 for ; Mon, 26 Jun 2017 14:55:26 +0200 (CEST) Content-Disposition: inline In-Reply-To: <1498208779-166205-3-git-send-email-harry.van.haaren@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" -----Original Message----- > Date: Fri, 23 Jun 2017 10:06:16 +0100 > From: Harry van Haaren > To: dev@dpdk.org > CC: thomas@monjalon.net, jerin.jacob@caviumnetworks.com, > keith.wiles@intel.com, bruce.richardson@intel.com, Harry van Haaren > > Subject: [PATCH 3/6] service cores: EAL init changes > X-Mailer: git-send-email 2.7.4 > > This commit shows the changes required in rte_eal_init() > to transparently launch the service threads. The threads > are launched into the service worker functions here because > after rte_eal_init() the application is not gauranteed to > call any other DPDK API. > > As the registration of services happens at initialization > time, the services that require CPU time are already available > when we reach the end of rte_eal_init(). > > Signed-off-by: Harry van Haaren > --- > lib/librte_eal/linuxapp/eal/eal.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c Need to add bsdapp implementation for the same. > index 7c78f2d..4d6ad0e 100644 > --- a/lib/librte_eal/linuxapp/eal/eal.c > +++ b/lib/librte_eal/linuxapp/eal/eal.c > @@ -78,6 +78,7 @@ > #include > #include > #include > +#include > > #include "eal_private.h" > #include "eal_thread.h" > @@ -939,6 +940,20 @@ rte_eal_init(int argc, char **argv) > return -1; > } > > + /* initialize service core threads and default service-core mapping */ > + struct rte_config *config = rte_eal_get_configuration(); > + uint32_t service_cores[RTE_MAX_LCORE]; > + int count = rte_service_core_list(service_cores, RTE_MAX_LCORE); > + for (i = 0; i < count; i++) { > + config->lcore_role[service_cores[i]] = ROLE_SERVICE; Can we move this change inside rte_service_core_start() itself? otherwise every application needs to the same. Right? > + rte_service_core_start(service_cores[i]); > + } > + ret = rte_service_init_default_mapping(); > + if (ret) { > + rte_errno = ENOEXEC; > + return -1; > + } > + > rte_eal_mcfg_complete(); > > return fctret; With above changes: Acked-by: Jerin Jacob > -- > 2.7.4 >