<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:12.0pt;
        font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Aptos",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:11.0pt;
        mso-ligatures:none;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">I am not aware of such plans.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> rajesh goel <rgoel.bangalore@gmail.com>
<br>
<b>Sent:</b> Wednesday, August 28, 2024 11:22 AM<br>
<b>To:</b> Medvedkin, Vladimir <vladimir.medvedkin@intel.com><br>
<b>Cc:</b> Ferruh Yigit <ferruh.yigit@amd.com>; Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh <sameh.gobriel@intel.com>; Richardson, Bruce <bruce.richardson@intel.com>; dev@dpdk.org<br>
<b>Subject:</b> Re: Bihash Support in DPDK<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Thanks Vladimir for the confirmation.<o:p></o:p></p>
<div>
<p class="MsoNormal">Is there any plan to support bucket level lock support in dpdk hash.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Rajesh<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Wed, Aug 28, 2024 at 2:33<span style="font-family:"Arial",sans-serif"> </span>PM Medvedkin, Vladimir <<a href="mailto:vladimir.medvedkin@intel.com">vladimir.medvedkin@intel.com</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt">Hi Rajesh,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt">rte_hash does not support per bucket locks, instead it uses global rwlock.</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt">But you can try lock free mode (see documentation, in particular RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY_LF flag)</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> rajesh
 goel <</span><a href="mailto:rgoel.bangalore@gmail.com" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">rgoel.bangalore@gmail.com</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">>
<br>
<b>Sent:</b> Tuesday, August 27, 2024 4:57 PM<br>
<b>To:</b> Medvedkin, Vladimir <</span><a href="mailto:vladimir.medvedkin@intel.com" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">vladimir.medvedkin@intel.com</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">><br>
<b>Cc:</b> Ferruh Yigit <</span><a href="mailto:ferruh.yigit@amd.com" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">ferruh.yigit@amd.com</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">>;
 Wang, Yipeng1 <</span><a href="mailto:yipeng1.wang@intel.com" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">yipeng1.wang@intel.com</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">>;
 Gobriel, Sameh <</span><a href="mailto:sameh.gobriel@intel.com" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">sameh.gobriel@intel.com</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">>;
 Richardson, Bruce <</span><a href="mailto:bruce.richardson@intel.com" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">bruce.richardson@intel.com</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">>;
</span><a href="mailto:dev@dpdk.org" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">dev@dpdk.org</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<b>Subject:</b> Re: Bihash Support in DPDK</span><o:p></o:p></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thanks for the reply.<o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Bihash I mean bounded index what Vpp supports.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">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. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Let me know your thoughts on this.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Regards <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Rajesh<o:p></o:p></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">On Tue, 27 Aug, 2024, 14:44 Medvedkin, Vladimir, <<a href="mailto:vladimir.medvedkin@intel.com" target="_blank">vladimir.medvedkin@intel.com</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt">Hi Rajesh,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt">Please clarify what do you mean by “bihash”? Bidirectional? Bounded index?</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt">As for concurrent lookup/updates, yes, DPDK hash table supports multi-process/multi-thread, please see the documentation:</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><a href="https://doc.dpdk.org/guides/prog_guide/hash_lib.html#multi-process-support" target="_blank"><span style="font-size:11.0pt">https://doc.dpdk.org/guides/prog_guide/hash_lib.html#multi-process-support</span></a><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> rajesh
 goel <</span><a href="mailto:rgoel.bangalore@gmail.com" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">rgoel.bangalore@gmail.com</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">>
<br>
<b>Sent:</b> Tuesday, August 27, 2024 7:04 AM<br>
<b>To:</b> Ferruh Yigit <</span><a href="mailto:ferruh.yigit@amd.com" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">ferruh.yigit@amd.com</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">><br>
<b>Cc:</b> Wang, Yipeng1 <</span><a href="mailto:yipeng1.wang@intel.com" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">yipeng1.wang@intel.com</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">>;
 Gobriel, Sameh <</span><a href="mailto:sameh.gobriel@intel.com" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">sameh.gobriel@intel.com</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">>;
 Richardson, Bruce <</span><a href="mailto:bruce.richardson@intel.com" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">bruce.richardson@intel.com</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">>;
 Medvedkin, Vladimir <</span><a href="mailto:vladimir.medvedkin@intel.com" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">vladimir.medvedkin@intel.com</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">>;
</span><a href="mailto:dev@dpdk.org" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">dev@dpdk.org</span></a><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<b>Subject:</b> Re: Bihash Support in DPDK</span><o:p></o:p></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hi All,<o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Can we get some reply.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thanks<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Rajesh<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">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:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">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.<o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</body>
</html>