DPDK patches and discussions
 help / color / mirror / Atom feed
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
To: declan.doherty@intel.com, thomas@monjalon.net
Cc: dev@dpdk.org, Pablo de Lara <pablo.de.lara.guarch@intel.com>
Subject: [dpdk-dev] [PATCH v2 3/4] net/bonding: remove socket id check
Date: Wed, 21 Jun 2017 06:07:32 +0100	[thread overview]
Message-ID: <20170621050733.88850-4-pablo.de.lara.guarch@intel.com> (raw)
In-Reply-To: <20170621050733.88850-1-pablo.de.lara.guarch@intel.com>

Socket id parsed from the user was checked
if it was in the range of available sockets.
This check is unnecessary, as the socket specified
might not have memory anyway, so it will fail
at memory allocation.

Therefore, the best solution is to remove this check.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 drivers/net/bonding/rte_eth_bond_api.c     | 16 ----------------
 drivers/net/bonding/rte_eth_bond_args.c    |  4 ++--
 drivers/net/bonding/rte_eth_bond_pmd.c     |  6 ------
 drivers/net/bonding/rte_eth_bond_private.h |  3 ---
 4 files changed, 2 insertions(+), 27 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
index 36ec65d..6c7dbae 100644
--- a/drivers/net/bonding/rte_eth_bond_api.c
+++ b/drivers/net/bonding/rte_eth_bond_api.c
@@ -143,22 +143,6 @@ deactivate_slave(struct rte_eth_dev *eth_dev, uint8_t port_id)
 	}
 }
 
-uint8_t
-number_of_sockets(void)
-{
-	int sockets = 0;
-	int i;
-	const struct rte_memseg *ms = rte_eal_get_physmem_layout();
-
-	for (i = 0; ((i < RTE_MAX_MEMSEG) && (ms[i].addr != NULL)); i++) {
-		if (sockets < ms[i].socket_id)
-			sockets = ms[i].socket_id;
-	}
-
-	/* Number of sockets = maximum socket_id + 1 */
-	return ++sockets;
-}
-
 int
 rte_eth_bond_create(const char *name, uint8_t mode, uint8_t socket_id)
 {
diff --git a/drivers/net/bonding/rte_eth_bond_args.c b/drivers/net/bonding/rte_eth_bond_args.c
index e3bdad9..baaab35 100644
--- a/drivers/net/bonding/rte_eth_bond_args.c
+++ b/drivers/net/bonding/rte_eth_bond_args.c
@@ -204,8 +204,8 @@ bond_ethdev_parse_socket_id_kvarg(const char *key __rte_unused,
 	if (*endptr != 0 || errno != 0)
 		return -1;
 
-	/* validate mode value */
-	if (socket_id >= 0 && socket_id < number_of_sockets()) {
+	/* validate socket id value */
+	if (socket_id >= 0) {
 		*(uint8_t *)extra_args = (uint8_t)socket_id;
 		return 0;
 	}
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 82959ab..c5efd06 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -2272,12 +2272,6 @@ bond_alloc(struct rte_vdev_device *dev, uint8_t mode)
 	 * and internal (private) data
 	 */
 
-	if (socket_id >= number_of_sockets()) {
-		RTE_BOND_LOG(ERR,
-				"Invalid socket id specified to create bonded device on.");
-		goto err;
-	}
-
 	/* reserve an ethdev entry */
 	eth_dev = rte_eth_vdev_allocate(dev, sizeof(*internals));
 	if (eth_dev == NULL) {
diff --git a/drivers/net/bonding/rte_eth_bond_private.h b/drivers/net/bonding/rte_eth_bond_private.h
index c8db090..e37d463 100644
--- a/drivers/net/bonding/rte_eth_bond_private.h
+++ b/drivers/net/bonding/rte_eth_bond_private.h
@@ -232,9 +232,6 @@ mac_address_get(struct rte_eth_dev *eth_dev, struct ether_addr *dst_mac_addr);
 int
 mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev);
 
-uint8_t
-number_of_sockets(void);
-
 int
 bond_ethdev_mode_set(struct rte_eth_dev *eth_dev, int mode);
 
-- 
2.9.4

  parent reply	other threads:[~2017-06-21 13:07 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-20 23:25 [dpdk-dev] [PATCH 0/5] eal: check socket memory Pablo de Lara
2017-06-20 23:25 ` [dpdk-dev] [PATCH 1/5] eal: check if socket has memory reserved Pablo de Lara
2017-06-20 23:25 ` [dpdk-dev] [PATCH 2/5] cryptodev: check if socket id has memory Pablo de Lara
2017-06-20 23:25 ` [dpdk-dev] [PATCH 3/5] crypto/scheduler: " Pablo de Lara
2017-06-20 23:25 ` [dpdk-dev] [PATCH 4/5] net/bonding: " Pablo de Lara
2017-06-20 23:25 ` [dpdk-dev] [PATCH 5/5] test/bonding: " Pablo de Lara
2017-06-21  5:07 ` [dpdk-dev] [PATCH v2 0/4] Socket ID check removal Pablo de Lara
2017-06-21  5:07   ` [dpdk-dev] [PATCH v2 1/4] cryptodev: remove socket id check Pablo de Lara
2017-06-22 11:27     ` Declan Doherty
2017-06-21  5:07   ` [dpdk-dev] [PATCH v2 2/4] crypto/scheduler: " Pablo de Lara
2017-06-22 11:38     ` Declan Doherty
2017-06-21  5:07   ` Pablo de Lara [this message]
2017-06-22 11:47     ` [dpdk-dev] [PATCH v2 3/4] net/bonding: " Declan Doherty
2017-06-21  5:07   ` [dpdk-dev] [PATCH v2 4/4] test/bonding: " Pablo de Lara
2017-06-22 11:48     ` Declan Doherty
2017-06-22 15:47   ` [dpdk-dev] [PATCH v2 0/4] Socket ID check removal Thomas Monjalon
2017-06-21 11:33 ` [dpdk-dev] [PATCH 0/5] eal: check socket memory De Lara Guarch, Pablo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170621050733.88850-4-pablo.de.lara.guarch@intel.com \
    --to=pablo.de.lara.guarch@intel.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).