From: "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
To: Jerin Jacob <jerin.jacob@caviumnetworks.com>,
"Singh, Jasvinder" <jasvinder.singh@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
"Pattan, Reshma" <reshma.pattan@intel.com>,
"Rao, Nikhil" <nikhil.rao@intel.com>
Subject: Re: [dpdk-dev] [PATCH] mbuf: implement generic format for sched field
Date: Mon, 10 Dec 2018 17:49:56 +0000 [thread overview]
Message-ID: <3EB4FA525960D640B5BDFFD6A3D891268E811F17@IRSMSX108.ger.corp.intel.com> (raw)
In-Reply-To: <20181201142237.GB17147@jerin>
> -----Original Message-----
> From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com]
> Sent: Saturday, December 1, 2018 2:23 PM
> To: Singh, Jasvinder <jasvinder.singh@intel.com>
> Cc: dev@dpdk.org; Dumitrescu, Cristian <cristian.dumitrescu@intel.com>;
> Pattan, Reshma <reshma.pattan@intel.com>; Rao, Nikhil
> <nikhil.rao@intel.com>
> Subject: Re: [dpdk-dev] [PATCH] mbuf: implement generic format for sched
> field
>
> -----Original Message-----
> > Date: Fri, 23 Nov 2018 16:54:23 +0000
> > From: Jasvinder Singh <jasvinder.singh@intel.com>
> > To: dev@dpdk.org
> > CC: cristian.dumitrescu@intel.com, Reshma Pattan
> <reshma.pattan@intel.com>
> > Subject: [dpdk-dev] [PATCH] mbuf: implement generic format for sched
> field
> > X-Mailer: git-send-email 2.17.1
> >
> > This patch implements the changes proposed in the deprecation
> > notes [1][2].
> >
> > The opaque mbuf->hash.sched field is updated to support generic
> > definition in line with the ethdev TM and MTR APIs. The new generic
> > format contains: queue ID, traffic class, color.
> >
> > In addtion, following API functions of the sched library have
> > been modified with an additional parameter of type struct
> > rte_sched_port to accomodate the changes made to mbuf sched field.
> > (i) rte_sched_port_pkt_write()
> > (ii) rte_sched_port_pkt_read()
> >
> > The other libraries, sample applications and tests which use mbuf
> > sched field have been updated as well.
> >
> > [1] http://mails.dpdk.org/archives/dev/2018-February/090651.html
> > [2] https://mails.dpdk.org/archives/dev/2018-November/119051.html
> >
> > Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
> > Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
> > ---
> > @@ -575,12 +575,10 @@ struct rte_mbuf {
> > */
> > } fdir; /**< Filter identifier if FDIR enabled */
> > struct {
> > - uint32_t lo;
> > - uint32_t hi;
> > - /**< The event eth Tx adapter uses this field
> > - * to store Tx queue id.
> > - * @see rte_event_eth_tx_adapter_txq_set()
> > - */
> > + uint32_t queue_id; /**< Queue ID. */
> > + uint8_t traffic_class; /**< Traffic class ID. */
> > + uint8_t color; /**< Color. */
> > + uint16_t reserved; /**< Reserved. */
> > } sched; /**< Hierarchical scheduler */
>
> +Nikhil.
>
> Currently rte_event_eth_tx_adapter_txq_set() and
> rte_event_eth_tx_adapter_txq_get() implemented using
> hash.sched.queue_id. How about moving out from "sched" to "txadapter"?
> Something like below,
>
> $ git diff
> diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
> index 3dbc6695e..b73bbef93 100644
> --- a/lib/librte_mbuf/rte_mbuf.h
> +++ b/lib/librte_mbuf/rte_mbuf.h
> @@ -575,13 +575,20 @@ struct rte_mbuf {
> */
> } fdir; /**< Filter identifier if FDIR enabled
> */
> struct {
> - uint32_t lo;
> - uint32_t hi;
> + uint32_t queue_id; /**< Queue ID. */
> + uint8_t traffic_class; /**< Traffic class ID. */
> + uint8_t color; /**< Color. */
> + uint16_t reserved; /**< Reserved. */
> + } sched; /**< Hierarchical scheduler */
> + struct {
> + uint32_t reserved1;
> + uint16_t reserved2;
> + uint16_t txq;
> /**< The event eth Tx adapter uses this field
> * to store Tx queue id.
> * @see rte_event_eth_tx_adapter_txq_set()
> */
> - } sched; /**< Hierarchical scheduler */
> + } txadapter; /**< Eventdev ethdev Tx adapter */
> /**< User defined tags. See rte_distributor_process() */
> uint32_t usr;
> } hash; /**< hash information */
>
>
> > rte_event_eth_tx_adapter_txq_set(struct rte_mbuf *pkt, uint16_t
> queue)
> > {
> > - uint16_t *p = (uint16_t *)&pkt->hash.sched.hi;
> > + uint16_t *p = (uint16_t *)&pkt->hash.sched.queue_id;
> > p[1] = queue;
> > }
> >
> > @@ -320,7 +320,7 @@ rte_event_eth_tx_adapter_txq_set(struct
> rte_mbuf *pkt, uint16_t queue)
> > static __rte_always_inline uint16_t __rte_experimental
> > rte_event_eth_tx_adapter_txq_get(struct rte_mbuf *pkt)
> > {
> > - uint16_t *p = (uint16_t *)&pkt->hash.sched.hi;
> > + uint16_t *p = (uint16_t *)&pkt->hash.sched.queue_id;
> > return p[1];
> > }
> >
Hi Jerin,
Is there a reason why eventdev cannot use the generic 32-bit queue_id field in mbuf->hash.sched?
We can definitely do it the way you suggest, but want to check with you first.
Regards,
Cristian
next prev parent reply other threads:[~2018-12-10 17:49 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-23 16:54 Jasvinder Singh
2018-11-26 11:37 ` Dumitrescu, Cristian
2018-11-29 10:42 ` Singh, Jasvinder
2018-12-04 17:39 ` Dumitrescu, Cristian
2018-12-05 12:22 ` Singh, Jasvinder
2018-12-01 14:22 ` Jerin Jacob
2018-12-05 11:15 ` Singh, Jasvinder
2018-12-10 17:49 ` Dumitrescu, Cristian [this message]
2018-12-07 14:31 ` [dpdk-dev] [PATCH v2 1/3] " Reshma Pattan
2018-12-11 19:02 ` Dumitrescu, Cristian
2018-12-12 18:17 ` Dumitrescu, Cristian
2018-12-13 8:51 ` Rao, Nikhil
2018-12-13 18:08 ` [dpdk-dev] [PATCH v3 1/2] eal: add new rte color definition Reshma Pattan
2018-12-13 18:08 ` [dpdk-dev] [PATCH v3 2/2] mbuf: implement generic format for sched field Reshma Pattan
2018-12-14 22:52 ` Dumitrescu, Cristian
2018-12-20 8:32 ` Olivier Matz
2018-12-20 11:19 ` Dumitrescu, Cristian
2018-12-14 22:19 ` [dpdk-dev] [PATCH v3 1/2] eal: add new rte color definition Dumitrescu, Cristian
2018-12-17 20:35 ` Thomas Monjalon
2018-12-18 15:40 ` [dpdk-dev] [PATCH v4 1/2] meter: " Reshma Pattan
2018-12-18 15:40 ` [dpdk-dev] [PATCH v4 2/2] mbuf: implement generic format for sched field Reshma Pattan
2018-12-19 15:34 ` [dpdk-dev] [PATCH v5 1/2] meter: add new rte color definition Reshma Pattan
2018-12-19 15:34 ` [dpdk-dev] [PATCH v5 2/2] mbuf: implement generic format for sched field Reshma Pattan
2018-12-19 15:42 ` [dpdk-dev] [PATCH v6 1/2] meter: add new rte color definition Reshma Pattan
2018-12-19 15:42 ` [dpdk-dev] [PATCH v6 2/2] mbuf: implement generic format for sched field Reshma Pattan
2018-12-19 18:14 ` Ananyev, Konstantin
2018-12-20 8:29 ` Olivier Matz
2018-12-20 11:28 ` Dumitrescu, Cristian
2018-12-20 12:41 ` Olivier Matz
2018-12-20 12:16 ` [dpdk-dev] [PATCH v7 1/2] meter: add new rte color definition Reshma Pattan
2018-12-20 12:16 ` [dpdk-dev] [PATCH v7 2/2] mbuf: implement generic format for sched field Reshma Pattan
2018-12-20 12:43 ` Olivier Matz
2018-12-20 19:11 ` Dumitrescu, Cristian
2018-12-20 14:55 ` Rao, Nikhil
2019-01-15 22:37 ` Stephen Hemminger
2019-01-16 9:19 ` Pattan, Reshma
2019-01-16 9:33 ` Dumitrescu, Cristian
2019-01-16 10:09 ` Singh, Jasvinder
2019-01-15 23:11 ` Stephen Hemminger
2019-01-16 8:41 ` Thomas Monjalon
2018-12-07 14:31 ` [dpdk-dev] [PATCH v2 2/3] eal: add new rte color definition Reshma Pattan
2018-12-10 18:24 ` Dumitrescu, Cristian
2018-12-14 23:35 ` Ananyev, Konstantin
2018-12-15 0:16 ` Dumitrescu, Cristian
2018-12-17 11:21 ` Ananyev, Konstantin
2018-12-17 17:15 ` Pattan, Reshma
2018-12-17 18:51 ` Dumitrescu, Cristian
2018-12-17 23:11 ` Thomas Monjalon
2018-12-18 10:30 ` Dumitrescu, Cristian
2018-12-18 11:18 ` Dumitrescu, Cristian
2018-12-18 12:38 ` Thomas Monjalon
2018-12-18 13:19 ` Dumitrescu, Cristian
2018-12-18 13:39 ` Thomas Monjalon
2018-12-18 17:07 ` Ananyev, Konstantin
2018-12-18 19:34 ` Dumitrescu, Cristian
2018-12-18 20:19 ` Thomas Monjalon
2018-12-19 10:47 ` Dumitrescu, Cristian
2018-12-19 10:50 ` Thomas Monjalon
2018-12-19 10:52 ` Ananyev, Konstantin
2018-12-19 10:49 ` Ananyev, Konstantin
2018-12-19 11:04 ` Dumitrescu, Cristian
2018-12-18 10:15 ` Ananyev, Konstantin
2018-12-18 10:25 ` Pattan, Reshma
2018-12-18 10:38 ` Ananyev, Konstantin
2018-12-18 10:41 ` Pattan, Reshma
2018-12-18 10:52 ` Singh, Jasvinder
2018-12-18 12:10 ` Ananyev, Konstantin
2018-12-15 14:15 ` Mattias Rönnblom
2018-12-17 7:27 ` Pattan, Reshma
2018-12-17 9:41 ` Dumitrescu, Cristian
2018-12-17 19:36 ` Mattias Rönnblom
2018-12-17 23:24 ` Ferruh Yigit
2018-12-07 14:31 ` [dpdk-dev] [PATCH v2 3/3] doc: add deprecation notice to remove rte meter color Reshma Pattan
2018-12-11 14:58 ` Dumitrescu, Cristian
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=3EB4FA525960D640B5BDFFD6A3D891268E811F17@IRSMSX108.ger.corp.intel.com \
--to=cristian.dumitrescu@intel.com \
--cc=dev@dpdk.org \
--cc=jasvinder.singh@intel.com \
--cc=jerin.jacob@caviumnetworks.com \
--cc=nikhil.rao@intel.com \
--cc=reshma.pattan@intel.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).