Hi

  I am interested in DPDK LPM implementation. I understand the high performance 
of this LPM table but, when it comes to multithreaded application, I read the 
following safety issue in DPDK documentation. I understand that multithread 
read and multithread write are not possible without locking table. But I want 
to know if single thread write and multithread read are possible with your 
implementation without any locking mechanism.

20. Thread Safety of DPDK Functions
"The hash and LPM libraries are, by design, thread unsafe in order to maintain 
performance. However, if required the developer can add layers on top of these 
libraries to provide thread safety. Locking is not needed in all situations, 
and in both the hash and LPM libraries, lookups of values can be performed in 
parallel in multiple threads. Adding, removing or modifying values, however, 
cannot be done in multiple threads without using locking when a single hash or 
LPM table is accessed. Another alternative to locking would be to create 
multiple instances of these tables allowing each thread its own copy".
http://dpdk.org/doc/guides/prog_guide/thread_safety_intel_dpdk_functions.html

Thanks
Shyam

Reply via email to