From: Ori Kam <orika@mellanox.com>
To: Jerin Jacob <jerinjacobk@gmail.com>
Cc: Guy Kaneti <guyk@marvell.com>,
Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
"xiang.w.wang@intel.com" <xiang.w.wang@intel.com>,
"dev@dpdk.org" <dev@dpdk.org>,
Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>,
Shahaf Shuler <shahafs@mellanox.com>,
"hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>,
Opher Reviv <opher@mellanox.com>,
Alex Rosenbaum <alexr@mellanox.com>,
Dovrat Zifroni <dovrat@marvell.com>,
Prasun Kapoor <pkapoor@marvell.com>,
"nipun.gupta@nxp.com" <nipun.gupta@nxp.com>,
"bruce.richardson@intel.com" <bruce.richardson@intel.com>,
"yang.a.hong@intel.com" <yang.a.hong@intel.com>,
"harry.chang@intel.com" <harry.chang@intel.com>,
"gu.jian1@zte.com.cn" <gu.jian1@zte.com.cn>,
"shanjiangh@chinatelecom.cn" <shanjiangh@chinatelecom.cn>,
"zhangy.yun@chinatelecom.cn" <zhangy.yun@chinatelecom.cn>,
"lixingfu@huachentel.com" <lixingfu@huachentel.com>,
"wushuai@inspur.com" <wushuai@inspur.com>,
"yuyingxia@yxlink.com" <yuyingxia@yxlink.com>,
"fanchenggang@sunyainfo.com" <fanchenggang@sunyainfo.com>,
"davidfgao@tencent.com" <davidfgao@tencent.com>,
"liuzhong1@chinaunicom.cn" <liuzhong1@chinaunicom.cn>,
"zhaoyong11@huawei.com" <zhaoyong11@huawei.com>,
"oc@yunify.com" <oc@yunify.com>,
"jim@netgate.com" <jim@netgate.com>,
"hongjun.ni@intel.com" <hongjun.ni@intel.com>,
"j.bromhead@titan-ic.com" <j.bromhead@titan-ic.com>,
"deri@ntop.org" <deri@ntop.org>,
"fc@napatech.com" <fc@napatech.com>,
"arthur.su@lionic.com" <arthur.su@lionic.com>,
Thomas Monjalon <thomas@monjalon.net>,
Parav Pandit <parav@mellanox.com>
Subject: Re: [dpdk-dev] [PATCH v1 2/4] regexdev: add regex core h file
Date: Wed, 8 Apr 2020 09:51:57 +0000 [thread overview]
Message-ID: <AM6PR05MB5176E1AD7871F144A2805BF0DBC00@AM6PR05MB5176.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <CALBAE1Nsx2ihvO8cnOc14xSNP9VSm6grXAmpSMqTBtVVG7j+2w@mail.gmail.com>
> >
> > From: Jerin Jacob <jerinjacobk@gmail.com>
> > Sent: Wednesday, April 8, 2020 10:49 AM
> >
> >
> >
> > On Wed, Apr 8, 2020 at 1:07 PM Ori Kam <mailto:orika@mellanox.com> wrote:
> >
> >
> > > -----Original Message-----
> > > From: dev <mailto:dev-bounces@dpdk.org> On Behalf Of Jerin Jacob
> > > Sent: Tuesday, April 7, 2020 7:27 PM
> > > Subject: Re: [dpdk-dev] [PATCH v1 2/4] regexdev: add regex core h file
> > >
> > > On Tue, Apr 7, 2020 at 9:46 PM Ori Kam <mailto:orika@mellanox.com> wrote:
> > >
> > > > Hi Guy,
> > > >
> > > > > -----Original Message-----
> > > > > From: dev <mailto:dev-bounces@dpdk.org> On Behalf Of Guy Kaneti
> > > > > Sent: Tuesday, April 7, 2020 11:54 AM
> > > > > > +
> > > > > > +/**
> > > > > > + * @internal
> > > > > > + * The generic data structure associated with each RegEx device.
> > > > > > + *
> > > > > > + * Pointers to burst-oriented packet receive and transmit functions
> > > > are
> > > > > > + * located at the beginning of the structure, along with the pointer
> > > > to
> > > > > > + * where all the data elements for the particular device are stored in
> > > > > > +shared
> > > > > > + * memory. This split allows the function pointer and driver data to
> > > > be
> > > > > > +per-
> > > > > > + * process, while the actual configuration data for the device is
> > > > shared.
> > > > > > + */
> > > > > > +struct rte_regexdev {
> > > > > > + regexdev_enqueue_t enqueue;
> > > > > > + regexdev_dequeue_t dequeue;
> > > > > > + const struct rte_regexdev_ops *dev_ops;
> > > > > > + /**< Functions exported by PMD */
> > > > > > + struct rte_device *device; /**< Backing device */ }
> > > > > > +__rte_cache_aligned;
> > > > > > +
> > > > >
> > > > > What about a handle for the PMD private data such as
> > > > > struct rte_eventdev_data *data;
> > > > > /**< Pointer to device data */
> > > > >
> > > > > struct rte_cryptodev_data *data;
> > > > > /**< Pointer to device data */
> > > >
> > > > I was thinking about new approach. To use container of.
> > > > Meaning each PMD will create like normal its priv structure.
> > > > In this structure there will be a regex_dev member.
> > > > For example:
> > > > struct mlx5_regex_priv {
> > > > struct rte_regex_dev regex_dev;
> > > >
> > >
> > > The rte_regex_dev which has enqueue() and dequeue() function pointer
> > > should not be NOT allocated from hugepage
> > > as per process it will have different enqueue() and dequeue() function
> > > pointer value. Making it hugepage, another process
> > > overwrites it.
> > >
> > >
> >
> > I didn't say this structure should be allocated from huge page.
> > Unless I'm missing something, from memory this is exactly the same
> > as if we had pointer to the priv.
> >
> > Private data should be allocated from the hugepage so that multiple processes can access it.
> > Whereas the memory that contains the enqueue() and dequeue() should not be from hugepage.
> > So both can not be from the same memory. Right?
> >
> >
> >
> >
> > >
> > > > //private fields
> > > > ...
> > > > ...
> > > > }
> > > > On registration the PMD will give the rte_regexdev the reference to the
> > > > regex_dev.
> > > > The PMD will use container_of
> > > >
> > > > This approach hides the private data from the application,
> > > > saves malloc, a bit faster, and saves the use of references.
> > > >
>
>
> > > The rte_regex_dev which has enqueue() and dequeue() function pointer
> > > should not be NOT allocated from hugepage
> > > as per process it will have different enqueue() and dequeue() function
> > > pointer value. Making it hugepage, another process
> > > overwrites it.
> > >
> > >
> >
> > I didn't say this structure should be allocated from huge page.
> > Unless I'm missing something, from memory this is exactly the same
> > as if we had pointer to the priv.
> >
> > Private data should be allocated from the hugepage so that multiple processes can access it.
> > Whereas the memory that contains the enqueue() and dequeue() should not be from hugepage.
> > So both can not be from the same memory. Right?
> >
>
> Yes you are right, in current implementation the idea was to support only single process.
> But I will update this code, to make it more like ethdev.
>
> Thanks for understanding. We would like to avoid rework when we add multi-process.
> Please check the [re]configure the function and it memory allocation requirement for storing the queue pointers as well
> from ethdev subsystem(in fact, all existing subsystem has same scheme).
>
Will fix.
> > > > So a better approach 😊 also this approach is in use by the rte_device.
> > > >
> > > >
> > > >
> >
next prev parent reply other threads:[~2020-04-08 9:52 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-29 6:47 [dpdk-dev] [PATCH v1 0/4] add RegEx class Ori Kam
2020-03-29 6:47 ` [dpdk-dev] [PATCH v1 1/4] regexdev: introduce regexdev subsystem Ori Kam
2020-04-04 15:04 ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
2020-04-05 15:03 ` Ori Kam
2020-03-29 6:47 ` [dpdk-dev] [PATCH v1 2/4] regexdev: add regex core h file Ori Kam
[not found] ` <DM5PR18MB221411AAEAFFA9D9F373292BC6C20@DM5PR18MB2214.namprd18.prod.outlook.com>
2020-04-07 8:53 ` Guy Kaneti
2020-04-07 16:16 ` Ori Kam
2020-04-07 16:27 ` Jerin Jacob
2020-04-08 7:37 ` Ori Kam
2020-04-08 7:48 ` Jerin Jacob
2020-04-08 8:31 ` Ori Kam
2020-04-08 8:38 ` Jerin Jacob
2020-04-08 9:51 ` Ori Kam [this message]
2020-03-29 6:47 ` [dpdk-dev] [PATCH v1 3/4] regexdev: add regexdev core functions Ori Kam
2020-04-04 15:01 ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
2020-04-05 15:05 ` Ori Kam
2020-04-05 17:10 ` Pavan Nikhilesh Bhagavatula
2020-04-05 20:02 ` Ori Kam
2020-04-06 12:48 ` Pavan Nikhilesh Bhagavatula
2020-04-06 13:29 ` Thomas Monjalon
2020-04-06 13:38 ` Jerin Jacob
2020-04-06 19:11 ` Ori Kam
2020-04-07 5:49 ` Jerin Jacob
2020-04-07 6:46 ` Ori Kam
2020-04-07 7:22 ` Jerin Jacob
2020-04-07 12:27 ` Thomas Monjalon
2020-04-07 12:54 ` Jerin Jacob
2020-04-07 14:21 ` Guy Kaneti
2020-04-07 16:28 ` Ori Kam
2020-04-07 16:37 ` Guy Kaneti
2020-04-08 6:52 ` Ori Kam
2020-04-08 8:39 ` Ori Kam
2020-04-19 10:38 ` Guy Kaneti
2020-04-22 21:36 ` Ori Kam
2020-04-08 9:41 ` Ori Kam
2020-03-29 6:47 ` [dpdk-dev] [PATCH v1 4/4] regexdev: implement regex rte level functions Ori Kam
2020-04-04 14:27 ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
2020-04-05 15:04 ` Ori Kam
2020-04-05 16:48 ` Pavan Nikhilesh Bhagavatula
2020-04-05 19:46 ` Ori Kam
2020-04-06 11:16 ` Thomas Monjalon
2020-04-06 12:33 ` Pavan Nikhilesh Bhagavatula
2020-04-06 13:14 ` Thomas Monjalon
2020-04-06 13:20 ` Jerin Jacob
2020-04-06 13:22 ` Pavan Nikhilesh Bhagavatula
2020-04-06 13:36 ` Thomas Monjalon
2020-04-06 13:50 ` Pavan Nikhilesh Bhagavatula
2020-04-06 14:00 ` Thomas Monjalon
2020-04-06 18:53 ` Ori Kam
2020-04-04 13:06 ` [dpdk-dev] [EXT] [PATCH v1 0/4] add RegEx class Pavan Nikhilesh Bhagavatula
2020-04-05 15:03 ` Ori Kam
2020-04-17 12:43 ` [dpdk-dev] [PATCH v2 " Ori Kam
2020-04-17 12:43 ` [dpdk-dev] [PATCH v2 1/4] regexdev: introduce regexdev subsystem Ori Kam
2020-04-17 12:43 ` [dpdk-dev] [PATCH v2 2/4] regexdev: add regex core h file Ori Kam
2020-04-20 10:48 ` Guy Kaneti
2020-04-20 15:49 ` Ori Kam
2020-04-17 12:43 ` [dpdk-dev] [PATCH v2 3/4] regexdev: add regexdev core functions Ori Kam
2020-04-17 12:43 ` [dpdk-dev] [PATCH v2 4/4] regexdev: implement regex rte level functions Ori Kam
2020-04-21 11:12 ` Guy Kaneti
2020-04-21 11:20 ` Ori Kam
2020-04-21 11:36 ` Guy Kaneti
2020-04-22 20:33 ` Ori Kam
2020-05-07 9:45 ` [dpdk-dev] [PATCH v3 0/4] add RegEx class Ori Kam
2020-05-07 9:45 ` [dpdk-dev] [PATCH v3 1/4] regexdev: introduce regexdev subsystem Ori Kam
2020-06-21 11:18 ` Ori Kam
2020-06-30 19:57 ` Ori Kam
2020-05-07 9:45 ` [dpdk-dev] [PATCH v3 2/4] regexdev: add regex core h file Ori Kam
2020-06-03 6:47 ` [dpdk-dev] [EXT] " Guy Kaneti
2020-05-07 9:45 ` [dpdk-dev] [PATCH v3 3/4] regexdev: add regexdev core functions Ori Kam
2020-06-03 6:57 ` [dpdk-dev] [EXT] " Guy Kaneti
2020-05-07 9:45 ` [dpdk-dev] [PATCH v3 4/4] regexdev: implement regex rte level functions Ori Kam
2020-06-03 6:59 ` [dpdk-dev] [EXT] " Guy Kaneti
2020-06-28 13:45 ` Guy Kaneti
2020-06-28 14:10 ` Ori Kam
2020-05-24 20:24 ` [dpdk-dev] [PATCH v3 0/4] add RegEx class Ori Kam
2020-07-02 7:45 ` [dpdk-dev] [PATCH v4 " Ori Kam
2020-07-02 7:46 ` [dpdk-dev] [PATCH v4 1/4] regexdev: introduce regexdev subsystem Ori Kam
2020-07-05 21:18 ` Thomas Monjalon
2020-07-06 7:02 ` Ori Kam
2020-07-02 7:46 ` [dpdk-dev] [PATCH v4 2/4] regexdev: add regex core h file Ori Kam
2020-07-02 7:46 ` [dpdk-dev] [PATCH v4 3/4] regexdev: add regexdev core functions Ori Kam
2020-07-05 21:08 ` Thomas Monjalon
2020-07-06 6:07 ` Ori Kam
2020-07-06 7:03 ` Thomas Monjalon
2020-07-06 8:00 ` Bruce Richardson
2020-07-02 7:46 ` [dpdk-dev] [PATCH v4 4/4] regexdev: implement regex rte level functions Ori Kam
2020-07-05 21:21 ` [dpdk-dev] [PATCH v4 0/4] add RegEx class Thomas Monjalon
2020-07-06 7:03 ` Ori Kam
2020-07-06 17:36 ` [dpdk-dev] [PATCH v5 " Ori Kam
2020-07-06 17:36 ` [dpdk-dev] [PATCH v5 1/4] regexdev: introduce regexdev subsystem Ori Kam
2020-07-06 19:38 ` Thomas Monjalon
2020-09-11 12:46 ` David Marchand
2020-07-06 17:36 ` [dpdk-dev] [PATCH v5 2/4] regexdev: add regex core h file Ori Kam
2020-07-06 17:36 ` [dpdk-dev] [PATCH v5 3/4] regexdev: add regexdev core functions Ori Kam
2020-07-06 17:36 ` [dpdk-dev] [PATCH v5 4/4] regexdev: implement regex rte level functions Ori Kam
2020-07-06 22:30 ` [dpdk-dev] [PATCH v5 0/4] add RegEx class Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AM6PR05MB5176E1AD7871F144A2805BF0DBC00@AM6PR05MB5176.eurprd05.prod.outlook.com \
--to=orika@mellanox.com \
--cc=alexr@mellanox.com \
--cc=arthur.su@lionic.com \
--cc=bruce.richardson@intel.com \
--cc=davidfgao@tencent.com \
--cc=deri@ntop.org \
--cc=dev@dpdk.org \
--cc=dovrat@marvell.com \
--cc=fanchenggang@sunyainfo.com \
--cc=fc@napatech.com \
--cc=gu.jian1@zte.com.cn \
--cc=guyk@marvell.com \
--cc=harry.chang@intel.com \
--cc=hemant.agrawal@nxp.com \
--cc=hongjun.ni@intel.com \
--cc=j.bromhead@titan-ic.com \
--cc=jerinj@marvell.com \
--cc=jerinjacobk@gmail.com \
--cc=jim@netgate.com \
--cc=liuzhong1@chinaunicom.cn \
--cc=lixingfu@huachentel.com \
--cc=nipun.gupta@nxp.com \
--cc=oc@yunify.com \
--cc=opher@mellanox.com \
--cc=parav@mellanox.com \
--cc=pbhagavatula@marvell.com \
--cc=pkapoor@marvell.com \
--cc=shahafs@mellanox.com \
--cc=shanjiangh@chinatelecom.cn \
--cc=thomas@monjalon.net \
--cc=wushuai@inspur.com \
--cc=xiang.w.wang@intel.com \
--cc=yang.a.hong@intel.com \
--cc=yuyingxia@yxlink.com \
--cc=zhangy.yun@chinatelecom.cn \
--cc=zhaoyong11@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).