> -Original Message-
> From: Matan Azrad [mailto:ma...@mellanox.com]
> Sent: Thursday, January 18, 2018 4:35 PM
> To: Thomas Monjalon ; Gaetan Rivet
> ; Wu, Jingjing
> Cc: dev@dpdk.org; Neil Horman ; Richardson, Bruce
> ; Ananyev, Konstantin
>
> Subject: [PATCH v3 4/7] ethdev: synchro
18/01/2018 21:52, Matan Azrad:
> From: Thomas Monjalon, Thursday, January 18, 2018 10:44 PM
> > 18/01/2018 17:35, Matan Azrad:
> > > rte_eth_dev_allocate(const char *name) {
> > > uint16_t port_id;
> > > - struct rte_eth_dev *eth_dev;
> > > + struct rte_eth_dev *eth_dev = NULL
From: Thomas Monjalon, Thursday, January 18, 2018 10:44 PM
> 18/01/2018 17:35, Matan Azrad:
> > rte_eth_dev_allocate(const char *name) {
> > uint16_t port_id;
> > - struct rte_eth_dev *eth_dev;
> > + struct rte_eth_dev *eth_dev = NULL;
> > +
> > + /* Synchronize share
18/01/2018 17:35, Matan Azrad:
> rte_eth_dev_allocate(const char *name)
> {
> uint16_t port_id;
> - struct rte_eth_dev *eth_dev;
> + struct rte_eth_dev *eth_dev = NULL;
> +
> + /* Synchronize share data one time allocation between local threads.
> */
I don't understand
Ethernet port allocation was not thread safe, means 2 threads which tried
to allocate a new port at the same time might get an identical port
identifier and caused to memory overwrite.
Actually, all the port configurations were not thread safe from ethdev
point of view.
The port ownership mechanis
5 matches
Mail list logo