All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Jasvinder Singh <jasvinder.singh@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"cristian.dumitrescu@intel.com" <cristian.dumitrescu@intel.com>,
	Reshma Pattan <reshma.pattan@intel.com>,
	"nikhil.rao@intel.com" <nikhil.rao@intel.com>
Subject: Re: [PATCH] mbuf: implement generic format for sched field
Date: Sat, 1 Dec 2018 14:22:48 +0000	[thread overview]
Message-ID: <20181201142237.GB17147@jerin> (raw)
In-Reply-To: <20181123165423.134922-1-jasvinder.singh@intel.com>

-----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];
>  }
> 

  parent reply	other threads:[~2018-12-01 14:22 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-23 16:54 [PATCH] mbuf: implement generic format for sched field 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 [this message]
2018-12-05 11:15   ` Singh, Jasvinder
2018-12-10 17:49   ` Dumitrescu, Cristian
2018-12-07 14:31 ` [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   ` [PATCH v3 1/2] eal: add new rte color definition Reshma Pattan
2018-12-13 18:08     ` [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     ` [PATCH v3 1/2] eal: add new rte color definition Dumitrescu, Cristian
2018-12-17 20:35     ` Thomas Monjalon
2018-12-18 15:40     ` [PATCH v4 1/2] meter: " Reshma Pattan
2018-12-18 15:40       ` [PATCH v4 2/2] mbuf: implement generic format for sched field Reshma Pattan
2018-12-19 15:34       ` [PATCH v5 1/2] meter: add new rte color definition Reshma Pattan
2018-12-19 15:34         ` [PATCH v5 2/2] mbuf: implement generic format for sched field Reshma Pattan
2018-12-19 15:42         ` [PATCH v6 1/2] meter: add new rte color definition Reshma Pattan
2018-12-19 15:42           ` [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           ` [PATCH v7 1/2] meter: add new rte color definition Reshma Pattan
2018-12-20 12:16             ` [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 ` [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 ` [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=20181201142237.GB17147@jerin \
    --to=jerin.jacob@caviumnetworks.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \
    --cc=jasvinder.singh@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.