<div dir="ltr">Thanks Vladimir for the confirmation.<div>Is there any plan to support bucket level lock support in dpdk hash.</div><div><br></div><div>Thanks</div><div>Rajesh</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 28, 2024 at 2:33 PM Medvedkin, Vladimir <<a href="mailto:vladimir.medvedkin@intel.com">vladimir.medvedkin@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg5649060222900170008">
<div lang="EN-GB" style="overflow-wrap: break-word;">
<div class="m_5649060222900170008WordSection1">
<p class="MsoNormal"><span style="font-size:11pt">Hi Rajesh,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">rte_hash does not support per bucket locks, instead it uses global rwlock.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">But you can try lock free mode (see documentation, in particular RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY_LF flag)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif"> rajesh goel <<a href="mailto:rgoel.bangalore@gmail.com" target="_blank">rgoel.bangalore@gmail.com</a>>
<br>
<b>Sent:</b> Tuesday, August 27, 2024 4:57 PM<br>
<b>To:</b> Medvedkin, Vladimir <<a href="mailto:vladimir.medvedkin@intel.com" target="_blank">vladimir.medvedkin@intel.com</a>><br>
<b>Cc:</b> Ferruh Yigit <<a href="mailto:ferruh.yigit@amd.com" target="_blank">ferruh.yigit@amd.com</a>>; Wang, Yipeng1 <<a href="mailto:yipeng1.wang@intel.com" target="_blank">yipeng1.wang@intel.com</a>>; Gobriel, Sameh <<a href="mailto:sameh.gobriel@intel.com" target="_blank">sameh.gobriel@intel.com</a>>; Richardson, Bruce <<a href="mailto:bruce.richardson@intel.com" target="_blank">bruce.richardson@intel.com</a>>; <a href="mailto:dev@dpdk.org" target="_blank">dev@dpdk.org</a><br>
<b>Subject:</b> Re: Bihash Support in DPDK<u></u><u></u></span></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Thanks for the reply.<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Bihash I mean bounded index what Vpp supports.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Iam looking for the bucket level lock support. Currently Iam using hash table shared by multiple process or multiple core/threads. So I have to take the write lock by single core and then read lock by multiple cores to read the value wrote
in this hash table. Multiple readers are getting blocked due to this. I want to avoid this to increase performance. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Let me know your thoughts on this.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Regards <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Rajesh<u></u><u></u></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Tue, 27 Aug, 2024, 14:44 Medvedkin, Vladimir, <<a href="mailto:vladimir.medvedkin@intel.com" target="_blank">vladimir.medvedkin@intel.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal"><span style="font-size:11pt">Hi Rajesh,</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">Please clarify what do you mean by “bihash”? Bidirectional? Bounded index?</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">As for concurrent lookup/updates, yes, DPDK hash table supports multi-process/multi-thread, please see the documentation:</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"><a href="https://doc.dpdk.org/guides/prog_guide/hash_lib.html#multi-process-support" target="_blank">https://doc.dpdk.org/guides/prog_guide/hash_lib.html#multi-process-support</a></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif"> rajesh
goel <<a href="mailto:rgoel.bangalore@gmail.com" target="_blank">rgoel.bangalore@gmail.com</a>>
<br>
<b>Sent:</b> Tuesday, August 27, 2024 7:04 AM<br>
<b>To:</b> Ferruh Yigit <<a href="mailto:ferruh.yigit@amd.com" target="_blank">ferruh.yigit@amd.com</a>><br>
<b>Cc:</b> Wang, Yipeng1 <<a href="mailto:yipeng1.wang@intel.com" target="_blank">yipeng1.wang@intel.com</a>>; Gobriel, Sameh <<a href="mailto:sameh.gobriel@intel.com" target="_blank">sameh.gobriel@intel.com</a>>; Richardson, Bruce <<a href="mailto:bruce.richardson@intel.com" target="_blank">bruce.richardson@intel.com</a>>;
Medvedkin, Vladimir <<a href="mailto:vladimir.medvedkin@intel.com" target="_blank">vladimir.medvedkin@intel.com</a>>;
<a href="mailto:dev@dpdk.org" target="_blank">dev@dpdk.org</a><br>
<b>Subject:</b> Re: Bihash Support in DPDK</span><u></u><u></u></p>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal">Hi All,<u></u><u></u></p>
<div>
<p class="MsoNormal">Can we get some reply.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Rajesh<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">On Thu, Aug 22, 2024 at 9:32<span style="font-family:Arial,sans-serif"> </span>PM Ferruh Yigit <<a href="mailto:ferruh.yigit@amd.com" target="_blank">ferruh.yigit@amd.com</a>>
wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0cm 5pt 4.8pt">
<p class="MsoNormal">On 8/22/2024 8:51 AM, rajesh goel wrote:<br>
> Hi All,<br>
> Need info if DPDK hash library supports bihash table where for multi-<br>
> thread and multi-process we can update/del/lookup entries per bucket level.<br>
> <br>
> <br>
<br>
+ hash library maintainers.<u></u><u></u></p>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div></blockquote></div>