DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Michał Krawczyk" <mk@semihalf.com>
To: Chas Williams <3chas3@gmail.com>
Cc: "Ferruh Yigit" <ferruh.yigit@intel.com>,
	"Marcin Wojtas" <mw@semihalf.com>,
	"Tzalik, Guy" <gtzalik@amazon.com>,
	"Schmeilin, Evgeny" <evgenys@amazon.com>,
	dev@dpdk.org, "Matushevsky, Alexander" <matua@amazon.com>,
	"Rafał Kozik" <rk@semihalf.com>
Subject: Re: [dpdk-dev] [PATCH v3 27/27] net/ena: set link speed as none
Date: Tue, 19 Jun 2018 08:32:13 +0200	[thread overview]
Message-ID: <CAJMMOfNO0eRAWsct=CYTod7Qs+RJqAxF5deLC20e6t4rsVmh2w@mail.gmail.com> (raw)
In-Reply-To: <CAG2-Gk=fxBefY_hONFspdkgZ=SG8Bk-f-qzThvT8+0o88gboNA@mail.gmail.com>

2018-06-11 18:15 GMT+02:00 Chas Williams <3chas3@gmail.com>:
>
>
> On Mon, Jun 11, 2018 at 4:01 AM Michał Krawczyk <mk@semihalf.com> wrote:
>>
>> 2018-06-10 3:35 GMT+02:00 Chas Williams <3chas3@gmail.com>:
>> >
>> >
>> > On Fri, Jun 8, 2018 at 3:37 PM Ferruh Yigit <ferruh.yigit@intel.com>
>> > wrote:
>> >>
>> >> On 6/7/2018 10:43 AM, Michal Krawczyk wrote:
>> >> > From: Rafal Kozik <rk@semihalf.com>
>> >> >
>> >> > Link speed should is not limited to 10Gb/s and it shouldn't be
>> >> > hardcoded.
>> >> >
>> >> > They link speed is set to none instead and the applications shouldn't
>> >> > rely on this value when using ENA PMD.
>> >>
>> >> Why not able to set link speed?
>> >>
>> >> And what is the link_autoneg, ETH_LINK_FIXED? What is the point of
>> >> setting
>> >> link
>> >> speed FIXED and later speed value NONE?
>> >
>> >
>> > The link speed is part of the spanning tree path computation.  I don't
>> > think
>> > picking 0 (or undefined)
>> > is the appropriate choice.  For virtual interfaces link speed is a
>> > troublesome quantity but advertising
>> > undefined seems worse then just use some constant value.
>> >
>>
>> Setting constant value is not making much sense in the virtualized
>> environment (ENA can be only used in the cloud). Link speed can be
>> very flexible in that case and that's why ENA isn't providing it. If
>> we will use constant value, what it should be? It may lead to
>> confusion or can result in the performance issues because some
>> applications are relying on this number to send max traffic.
>
>
> What applications are using this value to determine the transmit speed?
>

The pktgen for example.

>>
>> Applications should not make assumption that the link speed is always
>> giving valid value and if it is not, they should try to configure rate
>> dynamically, instead of statically.
>
>
> So advertising a fixed speed of 10G should be perfectly fine.  The
> application should not assume 10G is a valid value and will attempt
> to dynamically configure the rate.
>
> The link speed should never be used to determine a transmit rate
> for an application because you don't know the speeds in the middle
> of the network.

If we have higher upper limit, which is 25G, wouldn't that make more
sense to set is as a link speed, so the user could take it as a hint
what the upper limit is? If you prefer to keep the 10G value instead,
we will probably revert this patch.

>>
>>
>> >>
>> >>
>> >> >
>> >> > Fixes: 1173fca ("ena: add polling-mode driver")
>> >>
>> >> For next time can you please use git alias to have consistent Fixes
>> >> format
>> >>
>> >> >
>> >> > Signed-off-by: Rafal Kozik <rk@semihalf.com>
>> >> > Acked-by: Michal Krawczyk <mk@semihalf.com>
>> >> > ---
>> >> >  drivers/net/ena/ena_ethdev.c | 2 +-
>> >> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >> >
>> >> > diff --git a/drivers/net/ena/ena_ethdev.c
>> >> > b/drivers/net/ena/ena_ethdev.c
>> >> > index 5c3b6494f..9ae73e331 100644
>> >> > --- a/drivers/net/ena/ena_ethdev.c
>> >> > +++ b/drivers/net/ena/ena_ethdev.c
>> >> > @@ -848,7 +848,7 @@ static int ena_link_update(struct rte_eth_dev
>> >> > *dev,
>> >> >       adapter = (struct ena_adapter *)(dev->data->dev_private);
>> >> >
>> >> >       link->link_status = adapter->link_status ? ETH_LINK_UP :
>> >> > ETH_LINK_DOWN;
>> >> > -     link->link_speed = ETH_SPEED_NUM_10G;
>> >> > +     link->link_speed = ETH_SPEED_NUM_NONE;
>> >> >       link->link_duplex = ETH_LINK_FULL_DUPLEX;
>> >> >
>> >> >       return 0;
>> >> >
>> >>
>> >

  reply	other threads:[~2018-06-19  6:32 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-07  9:42 [dpdk-dev] [PATCH v3 01/27] net/ena: change version number to 1.1.0 Michal Krawczyk
2018-06-07  9:42 ` [dpdk-dev] [PATCH v3 02/27] net/ena: update ena_com to the newer version Michal Krawczyk
2018-06-08 19:43   ` Ferruh Yigit
2018-06-11  9:54     ` [dpdk-dev] [PATCH v4 2/2] " Michal Krawczyk
2018-06-11 10:42       ` Ferruh Yigit
2018-06-11 11:01         ` [dpdk-dev] [PATCH v5 02/27] " Michal Krawczyk
2018-06-07  9:42 ` [dpdk-dev] [PATCH v3 03/27] net/ena: remove support of legacy LLQ Michal Krawczyk
2018-06-07  9:42 ` [dpdk-dev] [PATCH v3 04/27] net/ena: add interrupt handler for admin queue Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 05/27] net/ena: add stop and uninit routines Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 06/27] net/ena: add LSC intr support and AENQ handling Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 07/27] net/ena: handle ENA notification Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 08/27] net/ena: restart only initialized queues instead of all Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 09/27] net/ena: add reset routine Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 10/27] net/ena: add lrte_timer dependency for linking Michal Krawczyk
2018-06-08 19:17   ` Ferruh Yigit
2018-06-11  6:24     ` Michał Krawczyk
2018-06-17 22:37   ` Thomas Monjalon
2018-06-18  6:04     ` Michał Krawczyk
2018-06-18  8:30       ` Thomas Monjalon
2018-06-18  8:32         ` Michał Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 11/27] net/ena: add watchdog and keep alive AENQ handler Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 12/27] net/ena: add checking for admin queue state Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 13/27] net/ena: make watchdog configurable Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 14/27] net/ena: add RX out of order completion Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 15/27] net/ena: linearize Tx mbuf Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 16/27] net/ena: add info about max number of Tx/Rx descriptors Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 17/27] net/ena: unimplemented handler error Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 18/27] net/ena: rework configuration of IO queue numbers Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 19/27] net/ena: validate Tx req id Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 20/27] net/ena: add (un)likely statements Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 21/27] net/ena: adjust error checking and cleaning Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 22/27] net/ena: update numa node Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 23/27] net/ena: check pointer before memset Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 24/27] net/ena: change memory type Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 25/27] net/ena: fix GENMASK_ULL macro Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 26/27] net/ena: store handle after memory allocation Michal Krawczyk
2018-06-07  9:43 ` [dpdk-dev] [PATCH v3 27/27] net/ena: set link speed as none Michal Krawczyk
2018-06-08 19:37   ` Ferruh Yigit
2018-06-10  1:35     ` Chas Williams
2018-06-11  8:01       ` Michał Krawczyk
2018-06-11 16:15         ` Chas Williams
2018-06-19  6:32           ` Michał Krawczyk [this message]
2018-06-08 19:45 ` [dpdk-dev] [PATCH v3 01/27] net/ena: change version number to 1.1.0 Ferruh Yigit
2018-06-11  8:45   ` Michał Krawczyk
2018-06-11  9:26     ` Ferruh Yigit
2018-06-11  9:33       ` Michał Krawczyk
2018-06-11  9:50         ` Ferruh Yigit
2018-06-11  9:52           ` Michał Krawczyk
2018-06-11 12:34 ` Ferruh Yigit

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='CAJMMOfNO0eRAWsct=CYTod7Qs+RJqAxF5deLC20e6t4rsVmh2w@mail.gmail.com' \
    --to=mk@semihalf.com \
    --cc=3chas3@gmail.com \
    --cc=dev@dpdk.org \
    --cc=evgenys@amazon.com \
    --cc=ferruh.yigit@intel.com \
    --cc=gtzalik@amazon.com \
    --cc=matua@amazon.com \
    --cc=mw@semihalf.com \
    --cc=rk@semihalf.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).