git.droids-corp.org
/
dpdk.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2c448da
)
net/mlx5: fix initialization in secondary process
author
Olivier Gournet
<ogournet@corp.free.fr>
Mon, 17 Oct 2016 12:56:33 +0000
(14:56 +0200)
committer
Bruce Richardson
<bruce.richardson@intel.com>
Wed, 26 Oct 2016 17:38:18 +0000
(19:38 +0200)
The changes introduced by previous commits (ones in fixes lines) made
secondaries attempt to reinitialize the Tx queue structures of the primary
instead of their own, for which they also do not allocate enough memory,
leading to crashes.
Fixes:
1d88ba171942
("net/mlx5: refactor Tx data path")
Fixes:
21c8bb4928c9
("net/mlx5: split Tx queue structure")
Signed-off-by: Olivier Gournet <ogournet@corp.free.fr>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
drivers/net/mlx5/mlx5_ethdev.c
patch
|
blob
|
history
diff --git
a/drivers/net/mlx5/mlx5_ethdev.c
b/drivers/net/mlx5/mlx5_ethdev.c
index
4eb533b
..
b48fbec
100644
(file)
--- a/
drivers/net/mlx5/mlx5_ethdev.c
+++ b/
drivers/net/mlx5/mlx5_ethdev.c
@@
-1312,11
+1312,13
@@
mlx5_secondary_data_setup(struct priv *priv)
continue;
primary_txq_ctrl = container_of(primary_txq,
struct txq_ctrl, txq);
- txq_ctrl = rte_calloc_socket("TXQ", 1, sizeof(*txq_ctrl), 0,
+ txq_ctrl = rte_calloc_socket("TXQ", 1, sizeof(*txq_ctrl) +
+ (1 << primary_txq->elts_n) *
+ sizeof(struct rte_mbuf *), 0,
primary_txq_ctrl->socket);
if (txq_ctrl != NULL) {
if (txq_ctrl_setup(priv->dev,
-
primary_
txq_ctrl,
+ txq_ctrl,
1 << primary_txq->elts_n,
primary_txq_ctrl->socket,
NULL) == 0) {