From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v6] eal: provide API for querying valid socket id's Date: Tue, 27 Mar 2018 18:24:00 +0200 Message-ID: <507411072.Cm6Xjx9PLX@xps> References: <9755302ee8a1439a152408d4b1c69cc1012153e4.1521715978.git.anatoly.burakov@intel.com> <9ff09ae09b3e9e1b149f73a693b552f8c94a01a2.1521722141.git.anatoly.burakov@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, Bruce Richardson , chaozhu@linux.vnet.ibm.com, gowrishankar.m@linux.vnet.ibm.com To: Anatoly Burakov Return-path: Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by dpdk.org (Postfix) with ESMTP id 0488D2BC8 for ; Tue, 27 Mar 2018 18:24:17 +0200 (CEST) In-Reply-To: <9ff09ae09b3e9e1b149f73a693b552f8c94a01a2.1521722141.git.anatoly.burakov@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" 22/03/2018 13:36, Anatoly Burakov: > --- a/lib/librte_eal/common/include/rte_eal.h > +++ b/lib/librte_eal/common/include/rte_eal.h > @@ -57,6 +57,9 @@ enum rte_proc_type_t { > struct rte_config { > uint32_t master_lcore; /**< Id of the master lcore */ > uint32_t lcore_count; /**< Number of available logical cores. */ > + uint32_t numa_node_count; /**< Number of detected NUMA nodes. */ > + uint32_t numa_nodes[RTE_MAX_NUMA_NODES]; > + /**< List of detected numa nodes. */ Please keep this comment on the same line if it's below 99 chars. > --- a/lib/librte_eal/common/include/rte_lcore.h > +++ b/lib/librte_eal/common/include/rte_lcore.h > @@ -132,6 +132,36 @@ rte_lcore_index(int lcore_id) > unsigned rte_socket_id(void); > > /** > + * Return number of physical sockets detected on the system. > + * > + * Note that number of nodes may not be correspondent to their physical id's: > + * for example, a system may report two socket id's, but the actual socket id's > + * may be 0 and 8. > + * > + * @return > + * the number of physical sockets as recognized by EAL > + */ > +unsigned int __rte_experimental > +rte_num_socket_ids(void); I suggest rte_socket_count() as function name. > +/** > + * Return socket id with a particular index. > + * > + * This will return socket id at a particular position in list of all detected > + * physical socket id's. For example, on a machine with sockets [0, 8], passing > + * 1 as a parameter will return 8. > + * > + * @param idx > + * index of physical socket id to return > + * > + * @return > + * - physical socket id as recognized by EAL > + * - -1 on error, with errno set to EINVAL > + */ > +int __rte_experimental > +rte_socket_id_by_idx(unsigned int idx); OK for this function. > --- a/lib/librte_eal/linuxapp/eal/Makefile > +++ b/lib/librte_eal/linuxapp/eal/Makefile > -LIBABIVER := 6 > +LIBABIVER := 7 When changing the ABI version, you need to update the release notes. There is also a deprecation notice to remove. > --- a/lib/librte_eal/rte_eal_version.map > +++ b/lib/librte_eal/rte_eal_version.map > @@ -229,6 +229,8 @@ EXPERIMENTAL { > rte_mp_request; > rte_mp_request_async; > rte_mp_reply; > + rte_num_socket_ids; > + rte_socket_id_by_idx; This one is not in the alphabetical order. > rte_service_attr_get; > rte_service_attr_reset_all; > rte_service_component_register;