> -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Singh, Jasvinder > Sent: Monday, May 8, 2017 11:37 AM > To: Nidhia Varghese <nidhiavarghes...@gmail.com>; dev@dpdk.org; > us...@dpdk.org > Subject: Re: [dpdk-dev] Fwd: Sharing tables among pipelines > > Hi Nidhia, > > > For my pipeline application, I want to share same table between two > different pipeline. Is that possible? If yes, how can I do it? >
This is usually a bad idea due to the implications: locks required for each table record, performance penalty due to cache line ping-pong between cores. See link below for a quick discussion: http://www.dpdk.org/doc/guides/prog_guide/packet_framework.html#shared-data-structures Usually we split the application-level table into several smaller tables that are sections of the big table and each one is handled by a different pipeline instance (of e.g. the flow classification pipeline type), with each instance potentially running on different CPU core; we make sure that packets reach the right pipeline instance through flow affinity schemes like RSS or SW steering. > [Jasvinder] - In the current ip pipeline application, we don’t have such > illustration of sharing a table between two pipelines. Therefore, you need to > tweak the code to implement it for your application. > > Thanks, > Jasvinder