Code Review
/
deb_dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
New upstream version 17.11.5
[deb_dpdk.git]
/
app
/
test-pmd
/
testpmd.c
diff --git
a/app/test-pmd/testpmd.c
b/app/test-pmd/testpmd.c
index
32d6871
..
0adebdd
100644
(file)
--- a/
app/test-pmd/testpmd.c
+++ b/
app/test-pmd/testpmd.c
@@
-446,6
+446,8
@@
set_default_fwd_lcores_config(void)
nb_lc = 0;
for (i = 0; i < RTE_MAX_LCORE; i++) {
nb_lc = 0;
for (i = 0; i < RTE_MAX_LCORE; i++) {
+ if (!rte_lcore_is_enabled(i))
+ continue;
sock_num = rte_lcore_to_socket_id(i);
if (new_socket_id(sock_num)) {
if (num_sockets >= RTE_MAX_NUMA_NODES) {
sock_num = rte_lcore_to_socket_id(i);
if (new_socket_id(sock_num)) {
if (num_sockets >= RTE_MAX_NUMA_NODES) {
@@
-455,8
+457,6
@@
set_default_fwd_lcores_config(void)
}
socket_ids[num_sockets++] = sock_num;
}
}
socket_ids[num_sockets++] = sock_num;
}
- if (!rte_lcore_is_enabled(i))
- continue;
if (i == rte_get_master_lcore())
continue;
fwd_lcores_cpuids[nb_lc++] = i;
if (i == rte_get_master_lcore())
continue;
fwd_lcores_cpuids[nb_lc++] = i;
@@
-483,9
+483,21
@@
set_default_fwd_ports_config(void)
portid_t pt_id;
int i = 0;
portid_t pt_id;
int i = 0;
- RTE_ETH_FOREACH_DEV(pt_id)
+ RTE_ETH_FOREACH_DEV(pt_id)
{
fwd_ports_ids[i++] = pt_id;
fwd_ports_ids[i++] = pt_id;
+ /* Update sockets info according to the attached device */
+ int socket_id = rte_eth_dev_socket_id(pt_id);
+ if (socket_id >= 0 && new_socket_id(socket_id)) {
+ if (num_sockets >= RTE_MAX_NUMA_NODES) {
+ rte_exit(EXIT_FAILURE,
+ "Total sockets greater than %u\n",
+ RTE_MAX_NUMA_NODES);
+ }
+ socket_ids[num_sockets++] = socket_id;
+ }
+ }
+
nb_cfg_ports = nb_ports;
nb_fwd_ports = nb_ports;
}
nb_cfg_ports = nb_ports;
nb_fwd_ports = nb_ports;
}
@@
-674,12
+686,6
@@
init_config(void)
memset(port_per_socket,0,RTE_MAX_NUMA_NODES);
memset(port_per_socket,0,RTE_MAX_NUMA_NODES);
- if (numa_support) {
- memset(port_numa, NUMA_NO_CONFIG, RTE_MAX_ETHPORTS);
- memset(rxring_numa, NUMA_NO_CONFIG, RTE_MAX_ETHPORTS);
- memset(txring_numa, NUMA_NO_CONFIG, RTE_MAX_ETHPORTS);
- }
-
/* Configuration of logical cores. */
fwd_lcores = rte_zmalloc("testpmd: fwd_lcores",
sizeof(struct fwd_lcore *) * nb_lcores,
/* Configuration of logical cores. */
fwd_lcores = rte_zmalloc("testpmd: fwd_lcores",
sizeof(struct fwd_lcore *) * nb_lcores,
@@
-709,9
+715,12
@@
init_config(void)
else {
uint32_t socket_id = rte_eth_dev_socket_id(pid);
else {
uint32_t socket_id = rte_eth_dev_socket_id(pid);
- /* if socket_id is invalid, set to 0 */
+ /*
+ * if socket_id is invalid,
+ * set to the first available socket.
+ */
if (check_socket_id(socket_id) < 0)
if (check_socket_id(socket_id) < 0)
- socket_id =
0
;
+ socket_id =
socket_ids[0]
;
port_per_socket[socket_id]++;
}
}
port_per_socket[socket_id]++;
}
}
@@
-845,9
+854,12
@@
init_fwd_streams(void)
else {
port->socket_id = rte_eth_dev_socket_id(pid);
else {
port->socket_id = rte_eth_dev_socket_id(pid);
- /* if socket_id is invalid, set to 0 */
+ /*
+ * if socket_id is invalid,
+ * set to the first available socket.
+ */
if (check_socket_id(port->socket_id) < 0)
if (check_socket_id(port->socket_id) < 0)
- port->socket_id =
0
;
+ port->socket_id =
socket_ids[0]
;
}
}
else {
}
}
else {
@@
-1896,9
+1908,9
@@
attach_port(char *identifier)
return;
socket_id = (unsigned)rte_eth_dev_socket_id(pi);
return;
socket_id = (unsigned)rte_eth_dev_socket_id(pi);
- /* if socket_id is invalid, set to
0
*/
+ /* if socket_id is invalid, set to
the first available socket.
*/
if (check_socket_id(socket_id) < 0)
if (check_socket_id(socket_id) < 0)
- socket_id =
0
;
+ socket_id =
socket_ids[0]
;
reconfig(pi, socket_id);
rte_eth_promiscuous_enable(pi);
reconfig(pi, socket_id);
rte_eth_promiscuous_enable(pi);
@@
-2066,11
+2078,11
@@
eth_event_callback(portid_t port_id, enum rte_eth_event_type type, void *param,
RTE_SET_USED(ret_param);
if (type >= RTE_ETH_EVENT_MAX) {
RTE_SET_USED(ret_param);
if (type >= RTE_ETH_EVENT_MAX) {
- fprintf(stderr, "\nPort %" PRIu
8
": %s called upon invalid event %d\n",
+ fprintf(stderr, "\nPort %" PRIu
16
": %s called upon invalid event %d\n",
port_id, __func__, type);
fflush(stderr);
} else if (event_print_mask & (UINT32_C(1) << type)) {
port_id, __func__, type);
fflush(stderr);
} else if (event_print_mask & (UINT32_C(1) << type)) {
- printf("\nPort %" PRIu
8
": %s event\n", port_id,
+ printf("\nPort %" PRIu
16
": %s event\n", port_id,
event_desc[type]);
fflush(stdout);
}
event_desc[type]);
fflush(stdout);
}
@@
-2464,6
+2476,11
@@
init_port(void)
"rte_zmalloc(%d struct rte_port) failed\n",
RTE_MAX_ETHPORTS);
}
"rte_zmalloc(%d struct rte_port) failed\n",
RTE_MAX_ETHPORTS);
}
+
+ /* Initialize ports NUMA structures */
+ memset(port_numa, NUMA_NO_CONFIG, RTE_MAX_ETHPORTS);
+ memset(rxring_numa, NUMA_NO_CONFIG, RTE_MAX_ETHPORTS);
+ memset(txring_numa, NUMA_NO_CONFIG, RTE_MAX_ETHPORTS);
}
static void
}
static void