Re: [dpdk-dev] [PATCH v3 4/7] ethdev: synchronize port allocation

2018-01-19 Thread Ananyev, Konstantin
> -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

Re: [dpdk-dev] [PATCH v3 4/7] ethdev: synchronize port allocation

2018-01-18 Thread Thomas Monjalon
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

Re: [dpdk-dev] [PATCH v3 4/7] ethdev: synchronize port allocation

2018-01-18 Thread 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; > > + > > + /* Synchronize share

Re: [dpdk-dev] [PATCH v3 4/7] ethdev: synchronize port allocation

2018-01-18 Thread Thomas Monjalon
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

[dpdk-dev] [PATCH v3 4/7] ethdev: synchronize port allocation

2018-01-18 Thread Matan Azrad
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