> -----Original Message----- > From: users <[email protected]> On Behalf Of Tom Barbette > Sent: Thursday, December 5, 2019 10:42 AM > To: Perugu Hemasai Chandra Prasad <[email protected]>; > [email protected]; [email protected] > Subject: Re: [dpdk-users] [dpdk-dev] Sharing Data structure between logical > cores in DPDK- regarding > > It depends on the datastructure. > > If you use rte_hash, with the thread safety flags, it's safe. > > In any case having a lot of cores accessing the same DS will lead to bad > performance. You should try to have per-core data structures whenever > possible. > > Tom > > ________________________________________ > De : dev <[email protected]> de la part de Perugu Hemasai Chandra Prasad > <[email protected]> > Envoyé : jeudi 5 décembre 2019 11:16 > À : [email protected]; [email protected] > Objet : [dpdk-dev] Sharing Data structure between logical cores in DPDK- > regarding > > Hi All,
Hi! > I have a small doubt, can we share a data structure between > multiple logical cores in DPDK without locking? Note that "locking" and "atomic instructions" are not the same. So locking a mutex is only one way of ensuring multiple cores have a coherent view on the datastructure. The other method of doing "lock free" but multi-core safe data-structures is by using Atomic instructions, which ensure that results are observed correctly on all cores accessing that data-structure. A good example is the Multi-producer or Multi-consumer versions of the DPDK rte_ring ringbuffer. Regards, -Harry > I have tested it by sharing > a small structure with two variable and incrementing them in all logical > cores. It ran smooth I didn't get any issue. But I doubt if we can run it > for long time with some huge data structure having many elements getting > accessed by multiple logical cores. > Can anyone please clarify this. > > Thanks and regards, > Hemasai.

