All of lore.kernel.org
 help / color / mirror / Atom feed
* DPDK qos support for 40G port
@ 2017-08-04  1:54 Kevin Yan
  2017-08-04  9:57 ` Dumitrescu, Cristian
  0 siblings, 1 reply; 7+ messages in thread
From: Kevin Yan @ 2017-08-04  1:54 UTC (permalink / raw)
  To: dev

Hi,
                I have  a question about dpdk qos feature, in rte_sched.h,
                /** Port configuration parameters. */
struct rte_sched_port_params {
                const char *name;                /**< String to be associated */
                int socket;                      /**< CPU socket ID */
                uint32_t rate;                   /**< Output port rate
                                                                                  * (measured in bytes per second) */
                uint32_t mtu;                    /**< Maximum Ethernet frame size
                                                                                  * (measured in bytes).
                                                                                  * Should not include the framing overhead. */
                uint32_t frame_overhead;         /**< Framing overhead per packet
                                                                                  * (measured in bytes) */
                uint32_t n_subports_per_port;    /**< Number of subports */
                uint32_t n_pipes_per_subport;    /**< Number of pipes per subport */
                uint16_t qsize[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE];
                /**< Packet queue size for each traffic class.
                * All queues within the same pipe traffic class have the same
                * size. Queues from different pipes serving the same traffic
                * class have the same size. */
                struct rte_sched_pipe_params *pipe_profiles;
                /**< Pipe profile table.
                * Every pipe is configured using one of the profiles from this table. */
                uint32_t n_pipe_profiles;        /**< Profiles in the pipe profile table */
#ifdef RTE_SCHED_RED
                struct rte_red_params red_params[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE][e_RTE_METER_COLORS]; /**< RED parameters */
#endif
};

                rate is type of uint32_t, but if physical port rate is 40G bit/s, which is 5G byte/s, 5G already exceed the max value of uint32_t, so I doult that 40G is not supported by dpdk qos lib, or any error of my understanding?

                Thanks and waiting for your reply!


BRs,
Kevin

________________________________
Please Note: My email address is changing. Starting May 1st 2017 my email will solely be my Mavenir email firstname.lastname@mavenir.com. All other prior email accounts will become inactive. To ensure continuity, please send all emails to my Mavenir email ID which is currently active and available for use.


This e-mail message may contain confidential or proprietary information of Mavenir Systems, Inc. or its affiliates and is intended solely for the use of the intended recipient(s). If you are not the intended recipient of this message, you are hereby notified that any review, use or distribution of this information is absolutely prohibited and we request that you delete all copies in your control and contact us by e-mailing to security@mavenir.com. Thank You. This message contains the views of its author and may not necessarily reflect the views of Mavenir Systems, Inc. or its affiliates, who employ systems to monitor email messages, but make no representation that such messages are authorized, secure, uncompromised, or free from computer viruses, malware, or other defects.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: DPDK qos support for 40G port
  2017-08-04  1:54 DPDK qos support for 40G port Kevin Yan
@ 2017-08-04  9:57 ` Dumitrescu, Cristian
  2017-08-07  4:42   ` Kevin Yan
  0 siblings, 1 reply; 7+ messages in thread
From: Dumitrescu, Cristian @ 2017-08-04  9:57 UTC (permalink / raw)
  To: Kevin Yan, dev

Hi Kevin,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Kevin Yan
> Sent: Friday, August 4, 2017 2:55 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] DPDK qos support for 40G port
> 
> Hi,
>                 I have  a question about dpdk qos feature, in rte_sched.h,

<snip>...

>                 rate is type of uint32_t, but if physical port rate is 40G bit/s, which is
> 5G byte/s, 5G already exceed the max value of uint32_t, so I doult that 40G is
> not supported by dpdk qos lib, or any error of my understanding?
> 

Yes, your understanding is correct, currently the port rate in bytes per second needs to be represented as 32-bit number.

So, we can currently do single port with 10GbE and 25GbE rate, but not single port of 40GbE or 100GbE. Please note that we can do 40GbE as 4 ports of 10GbE each, which is a very common configuration for 40GbE.

This limitation is not trivial to remove, i.e. more code is needed to remove this limitation than just changing the rate data type to uint64_t.

Thanks for your feedback. Good to know that we should upgrade this library to support 40GbE rates sooner rather than later.

>                 Thanks and waiting for your reply!
> 
> 
> BRs,
> Kevin
> 

Regards,
Cristian

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: DPDK qos support for 40G port
  2017-08-04  9:57 ` Dumitrescu, Cristian
@ 2017-08-07  4:42   ` Kevin Yan
  2017-08-18 11:24     ` Dumitrescu, Cristian
  0 siblings, 1 reply; 7+ messages in thread
From: Kevin Yan @ 2017-08-07  4:42 UTC (permalink / raw)
  To: Dumitrescu, Cristian, dev

Hi Cristian,
Sorry to bother again, could you give suggestions/hints of code change to support single 40G port?  Because  in our setup, we will use single 40G port (Intel XL710) as the network interface.

Or is there any workaround to bypass the limitation?(we are not willing to use 4*10G setup)

Thanks.

-----Original Message-----
From: Dumitrescu, Cristian [mailto:cristian.dumitrescu@intel.com]
Sent: Friday, August 04, 2017 5:57 PM
To: Kevin Yan <Kevin.Yan@mavenir.com>; dev@dpdk.org
Subject: RE: DPDK qos support for 40G port

Hi Kevin,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Kevin Yan
> Sent: Friday, August 4, 2017 2:55 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] DPDK qos support for 40G port
>
> Hi,
>                 I have  a question about dpdk qos feature, in
> rte_sched.h,

<snip>...

>                 rate is type of uint32_t, but if physical port rate is
> 40G bit/s, which is 5G byte/s, 5G already exceed the max value of
> uint32_t, so I doult that 40G is not supported by dpdk qos lib, or any error of my understanding?
>

Yes, your understanding is correct, currently the port rate in bytes per second needs to be represented as 32-bit number.

So, we can currently do single port with 10GbE and 25GbE rate, but not single port of 40GbE or 100GbE. Please note that we can do 40GbE as 4 ports of 10GbE each, which is a very common configuration for 40GbE.

This limitation is not trivial to remove, i.e. more code is needed to remove this limitation than just changing the rate data type to uint64_t.

Thanks for your feedback. Good to know that we should upgrade this library to support 40GbE rates sooner rather than later.

>                 Thanks and waiting for your reply!
>
>
> BRs,
> Kevin
>

Regards,
Cristian

________________________________
Please Note: My email address is changing. Starting May 1st 2017 my email will solely be my Mavenir email firstname.lastname@mavenir.com. All other prior email accounts will become inactive. To ensure continuity, please send all emails to my Mavenir email ID which is currently active and available for use.


This e-mail message may contain confidential or proprietary information of Mavenir Systems, Inc. or its affiliates and is intended solely for the use of the intended recipient(s). If you are not the intended recipient of this message, you are hereby notified that any review, use or distribution of this information is absolutely prohibited and we request that you delete all copies in your control and contact us by e-mailing to security@mavenir.com. Thank You. This message contains the views of its author and may not necessarily reflect the views of Mavenir Systems, Inc. or its affiliates, who employ systems to monitor email messages, but make no representation that such messages are authorized, secure, uncompromised, or free from computer viruses, malware, or other defects.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: DPDK qos support for 40G port
  2017-08-07  4:42   ` Kevin Yan
@ 2017-08-18 11:24     ` Dumitrescu, Cristian
  2017-08-18 17:21       ` Stephen Hemminger
  2017-08-23  5:37       ` Kevin Yan
  0 siblings, 2 replies; 7+ messages in thread
From: Dumitrescu, Cristian @ 2017-08-18 11:24 UTC (permalink / raw)
  To: Kevin Yan, dev

Hi Kevin,

> Hi Cristian,
> Sorry to bother again, could you give suggestions/hints of code change to
> support single 40G port?  Because  in our setup, we will use single 40G port
> (Intel XL710) as the network interface.
> 
> Or is there any workaround to bypass the limitation?(we are not willing to
> use 4*10G setup)
> 
> Thanks.
> 

Probably the easiest thing to do as workaround to support single port of 40GbE rate is to change the code so that each credit is equivalent to 2 bytes instead of one. This is likely to result in some scheduling accuracy loss, but it can be implemented relatively quickly while avoiding complex code changes.

Regards,
Cristian

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: DPDK qos support for 40G port
  2017-08-18 11:24     ` Dumitrescu, Cristian
@ 2017-08-18 17:21       ` Stephen Hemminger
  2017-08-18 18:05         ` Dumitrescu, Cristian
  2017-08-23  5:37       ` Kevin Yan
  1 sibling, 1 reply; 7+ messages in thread
From: Stephen Hemminger @ 2017-08-18 17:21 UTC (permalink / raw)
  To: Dumitrescu, Cristian; +Cc: Kevin Yan, dev

On Fri, 18 Aug 2017 11:24:12 +0000
"Dumitrescu, Cristian" <cristian.dumitrescu@intel.com> wrote:

> Hi Kevin,
> 
> > Hi Cristian,
> > Sorry to bother again, could you give suggestions/hints of code change to
> > support single 40G port?  Because  in our setup, we will use single 40G port
> > (Intel XL710) as the network interface.
> > 
> > Or is there any workaround to bypass the limitation?(we are not willing to
> > use 4*10G setup)
> > 
> > Thanks.
> >   
> 
> Probably the easiest thing to do as workaround to support single port of 40GbE rate is to change the code so that each credit is equivalent to 2 bytes instead of one. This is likely to result in some scheduling accuracy loss, but it can be implemented relatively quickly while avoiding complex code changes.
> 
> Regards,
> Cristian
> 

Maybe it is time to deprecate existing QoS since it has so many fixed limits
and start a new version which supports up to 400G and many more classes.

Something that integrated better with your new QoS framework.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: DPDK qos support for 40G port
  2017-08-18 17:21       ` Stephen Hemminger
@ 2017-08-18 18:05         ` Dumitrescu, Cristian
  0 siblings, 0 replies; 7+ messages in thread
From: Dumitrescu, Cristian @ 2017-08-18 18:05 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Kevin Yan, dev



> -----Original Message-----
> From: Stephen Hemminger [mailto:stephen@networkplumber.org]
> Sent: Friday, August 18, 2017 6:22 PM
> To: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
> Cc: Kevin Yan <Kevin.Yan@mavenir.com>; dev@dpdk.org
> Subject: Re: [dpdk-dev] DPDK qos support for 40G port
> 
> On Fri, 18 Aug 2017 11:24:12 +0000
> "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com> wrote:
> 
> > Hi Kevin,
> >
> > > Hi Cristian,
> > > Sorry to bother again, could you give suggestions/hints of code change to
> > > support single 40G port?  Because  in our setup, we will use single 40G
> port
> > > (Intel XL710) as the network interface.
> > >
> > > Or is there any workaround to bypass the limitation?(we are not willing to
> > > use 4*10G setup)
> > >
> > > Thanks.
> > >
> >
> > Probably the easiest thing to do as workaround to support single port of
> 40GbE rate is to change the code so that each credit is equivalent to 2 bytes
> instead of one. This is likely to result in some scheduling accuracy loss, but it
> can be implemented relatively quickly while avoiding complex code changes.
> >
> > Regards,
> > Cristian
> >
> 
> Maybe it is time to deprecate existing QoS since it has so many fixed limits
> and start a new version which supports up to 400G and many more classes.
> 
> Something that integrated better with your new QoS framework.

s/deprecate/improve

I am working to push some updates to librte_meter library, librte_sched to follow.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: DPDK qos support for 40G port
  2017-08-18 11:24     ` Dumitrescu, Cristian
  2017-08-18 17:21       ` Stephen Hemminger
@ 2017-08-23  5:37       ` Kevin Yan
  1 sibling, 0 replies; 7+ messages in thread
From: Kevin Yan @ 2017-08-23  5:37 UTC (permalink / raw)
  To: Dumitrescu, Cristian, dev

Thanks, Cristian

-----Original Message-----
From: Dumitrescu, Cristian [mailto:cristian.dumitrescu@intel.com]
Sent: Friday, August 18, 2017 7:24 PM
To: Kevin Yan <Kevin.Yan@mavenir.com>; dev@dpdk.org
Subject: RE: DPDK qos support for 40G port

Hi Kevin,

> Hi Cristian,
> Sorry to bother again, could you give suggestions/hints of code change
> to support single 40G port?  Because  in our setup, we will use single
> 40G port (Intel XL710) as the network interface.
>
> Or is there any workaround to bypass the limitation?(we are not
> willing to use 4*10G setup)
>
> Thanks.
>

Probably the easiest thing to do as workaround to support single port of 40GbE rate is to change the code so that each credit is equivalent to 2 bytes instead of one. This is likely to result in some scheduling accuracy loss, but it can be implemented relatively quickly while avoiding complex code changes.

Regards,
Cristian

________________________________
Please Note: My email address is changing. Starting May 1st 2017 my email will solely be my Mavenir email firstname.lastname@mavenir.com. All other prior email accounts will become inactive. To ensure continuity, please send all emails to my Mavenir email ID which is currently active and available for use.


This e-mail message may contain confidential or proprietary information of Mavenir Systems, Inc. or its affiliates and is intended solely for the use of the intended recipient(s). If you are not the intended recipient of this message, you are hereby notified that any review, use or distribution of this information is absolutely prohibited and we request that you delete all copies in your control and contact us by e-mailing to security@mavenir.com. Thank You. This message contains the views of its author and may not necessarily reflect the views of Mavenir Systems, Inc. or its affiliates, who employ systems to monitor email messages, but make no representation that such messages are authorized, secure, uncompromised, or free from computer viruses, malware, or other defects.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-08-23  5:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-04  1:54 DPDK qos support for 40G port Kevin Yan
2017-08-04  9:57 ` Dumitrescu, Cristian
2017-08-07  4:42   ` Kevin Yan
2017-08-18 11:24     ` Dumitrescu, Cristian
2017-08-18 17:21       ` Stephen Hemminger
2017-08-18 18:05         ` Dumitrescu, Cristian
2017-08-23  5:37       ` Kevin Yan

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.