From: Jakub Kicinski <jakub.kicinski@netronome.com>
To: Eran Ben Elisha <eranbe@mellanox.com>
Cc: David Miller <davem@davemloft.net>,
saeedm@mellanox.com, netdev@vger.kernel.org, jiri@mellanox.com,
alexander.duyck@gmail.com, helgaas@kernel.org
Subject: Re: [pull request][net-next 00/10] Mellanox, mlx5 and devlink updates 2018-07-31
Date: Thu, 2 Aug 2018 15:53:15 -0700 [thread overview]
Message-ID: <20180802155315.48aaab19@cakuba.netronome.com> (raw)
In-Reply-To: <9fda7682-45f0-8cce-c3e4-2d58cba08edb@mellanox.com>
On Thu, 2 Aug 2018 18:07:18 +0300, Eran Ben Elisha wrote:
> On 8/2/2018 4:40 AM, David Miller wrote:
> > From: Jakub Kicinski <jakub.kicinski@netronome.com>
> > Date: Wed, 1 Aug 2018 17:00:47 -0700
> >
> >> On Wed, 1 Aug 2018 14:52:45 -0700, Saeed Mahameed wrote:
> >>> - According to the discussion outcome, we are keeping the congestion control
> >>> setting as mlx5 device specific for the current HW generation.
> >>
> >> I still see queuing and marking based on queue level. You want to add
> >> a Qdisc that will mirror your HW's behaviour to offload, if you really
> >> believe this is not a subset of RED, why not... But devlink params?
> >
> > I totally agree, devlink seems like absolutely to wrong level and set
> > of interfaces to be doing this stuff.
> >
> > I will not pull these changes in and I probably should have not
> > accepted the DCB changes from the other day and they were sneakily
> > leading up to this crap.
> >
> > Sorry, please follow Jakub's lead as I think his approach makes much
> > more technical sense than using devlink for this.
> >
> > Thanks.
> >
>
> Hi Dave,
> I would like to re-state that this feature was not meant to be a generic
> one. This feature was added in order to resolve a HW bug which exist in
> a small portion of our devices.
Would you mind describing the HW bug in more detail? To a outside
reviewer it really looks like you're adding a feature. What are you
working around? Is the lack of full AQM on the PCIe side of the chip
considered a bug?
> Those params will be used only on those current HWs and won't be in
> use for our future devices.
I'm glad that is your plan today, however, customers may get used to
the simple interface you're adding now. This means the API you are
adding is effectively becoming an API other drivers may need to
implement to keep compatibility with someone's proprietary
orchestration.
> During the discussions, several alternatives where offered to be used by
> various members of the community. These alternatives includes TC and
> enhancements to PCI configuration tools.
>
> Regarding the TC, from my perspective, this is not an option as:
> 1) The HW mechanism handles multiple functions and therefore cannot be
> configured on as a regular TC
Could you elaborate? What are the multiple functions? You seem to be
adding a knob to enable ECN marking and a knob for choosing between
some predefined slopes.
In what way would your solution not behave like a RED offload?
With TC offload you'd also get a well-defined set of statistics, I
presume right now you're planning on adding a set of ethtool -S
counters?
> 2) No PF + representors modeling can be applied here, this is a
> MultiHost environment where one host is not aware to the other hosts,
> and each is running on its own pci/driver. It is a device working mode
> configuration.
Yes, the multihost part makes it less pleasant. But this is a problem
we have to tackle separately, at some point. It's not a center of
attention here.
> 3) The current HW W/A is very limited, maybe it has a similar algorithm
> as WRED, but is being used for much simpler different use case (pci bus
> congestion).
No one is requesting full RED offload here.. if someone sets the
parameters you can't support you simply won't offload them. And ignore
the parameters which only make sense in software terms. Look at the
docs for mlxsw:
https://github.com/Mellanox/mlxsw/wiki/Queues-Management#offloading-red
It says "not offloaded" in a number of places.
> It cannot be compared to a standard TC capability (RED/WRED), and
> defining it as a offload fully controlled by the user will be a big
> misuse.
It's generally preferable to implement a subset of exiting well defined
API than create vendor knobs, hence hardly a misuse.
> (for example, drop rate cannot be configured)
I don't know what "configuring drop rate" means in case of RED..
> regarding the PCI config tools, there was a consensus that such tool is
> not acceptable as it is not a part of the PCI spec.
As I said, this has nothing to do with PCI being the transport. The
port you're running over could be serial, SPI or anything else. You
have congestion on a port of a device, that's a networking problem.
> Since module param/sysfs/debugfs/etc are no longer acceptable, and
> current drivers still desired with a way to do some configurations to
> the device/driver which cannot used standard Linux tool or by other
> vendors, devlink params was developed (under the assumption that this
> tool will be helpful for those needs, and those only).
>
> From my perspective, Devlink is the tool to configure the device for
> handling such unexpected bugs, i.e "PCIe buffer congestion handling
> workaround".
Hm. Are you calling it a bug because you had to work around silicon
limitation in firmware? Hm. I'm very intrigued by the framing :)
next prev parent reply other threads:[~2018-08-03 0:46 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-01 21:52 [pull request][net-next 00/10] Mellanox, mlx5 and devlink updates 2018-07-31 Saeed Mahameed
2018-08-01 21:52 ` [net-next 01/10] devlink: Fix param set handling for string type Saeed Mahameed
2018-08-01 22:33 ` Jakub Kicinski
2018-08-01 21:52 ` [net-next 02/10] devlink: Fix param cmode driverinit " Saeed Mahameed
2018-08-01 21:52 ` [net-next 03/10] devlink: Add helper function for safely copy string param Saeed Mahameed
2018-08-01 21:52 ` [net-next 04/10] devlink: Add extack messages support to param set Saeed Mahameed
2018-08-01 21:52 ` [net-next 05/10] net/mlx5: Move all devlink related functions calls to devlink.c Saeed Mahameed
2018-08-01 21:52 ` [net-next 06/10] net/mlx5: Add MPEGC register configuration functionality Saeed Mahameed
2018-08-01 21:52 ` [net-next 07/10] net/mlx5: Enable PCIe buffer congestion handling workaround via devlink Saeed Mahameed
2018-08-01 22:18 ` Alexander Duyck
2018-08-01 21:52 ` [net-next 08/10] net/mlx5: Add Vendor Specific Capability access gateway Saeed Mahameed
2018-08-01 21:52 ` [net-next 09/10] net/mlx5: Add Crdump FW snapshot support Saeed Mahameed
2018-08-01 21:52 ` [net-next 10/10] net/mlx5: Use devlink region_snapshot parameter Saeed Mahameed
2018-08-01 22:34 ` [pull request][net-next 00/10] Mellanox, mlx5 and devlink updates 2018-07-31 Alexander Duyck
2018-08-01 23:13 ` Saeed Mahameed
2018-08-02 0:36 ` Alexander Duyck
[not found] ` <2d84340e-0703-0bc7-4917-3b18979b2aa5@mellanox.com>
2018-08-29 15:42 ` Alex Vesker
2018-08-29 17:04 ` Alexander Duyck
[not found] ` <5206dd74-432d-3342-2a48-3cdd1be8b5cb@mellanox.com>
2018-08-30 15:39 ` Alexander Duyck
2018-08-02 6:15 ` Jiri Pirko
2018-08-02 0:00 ` Jakub Kicinski
2018-08-02 1:40 ` David Miller
2018-08-02 8:29 ` Petr Machata
2018-08-02 17:11 ` Jakub Kicinski
2018-08-02 18:04 ` David Miller
2018-08-02 20:10 ` Petr Machata
2018-08-02 15:07 ` Eran Ben Elisha
2018-08-02 22:53 ` Jakub Kicinski [this message]
2018-08-03 16:41 ` Ido Schimmel
2018-08-04 4:59 ` Jakub Kicinski
2018-08-06 13:01 ` Eran Ben Elisha
2018-08-07 0:49 ` Jakub Kicinski
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=20180802155315.48aaab19@cakuba.netronome.com \
--to=jakub.kicinski@netronome.com \
--cc=alexander.duyck@gmail.com \
--cc=davem@davemloft.net \
--cc=eranbe@mellanox.com \
--cc=helgaas@kernel.org \
--cc=jiri@mellanox.com \
--cc=netdev@vger.kernel.org \
--cc=saeedm@mellanox.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