lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230306163542.GB11936@pengutronix.de>
Date:   Mon, 6 Mar 2023 17:35:42 +0100
From:   Oleksij Rempel <o.rempel@...gutronix.de>
To:     Vladimir Oltean <olteanv@...il.com>
Cc:     Woojung Huh <woojung.huh@...rochip.com>,
        Andrew Lunn <andrew@...n.ch>,
        Florian Fainelli <f.fainelli@...il.com>,
        netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
        UNGLinuxDriver@...rochip.com, Eric Dumazet <edumazet@...gle.com>,
        kernel@...gutronix.de, Jakub Kicinski <kuba@...nel.org>,
        Paolo Abeni <pabeni@...hat.com>,
        "David S. Miller" <davem@...emloft.net>
Subject: Re: [PATCH net-next v1 2/2] net: dsa: microchip: add ETS Qdisc
 support for KSZ9477 series

Hi Vladimir,

On Mon, Mar 06, 2023 at 04:06:51PM +0200, Vladimir Oltean wrote:
> Hi Oleksij,
> 
> On Mon, Mar 06, 2023 at 01:49:40PM +0100, Oleksij Rempel wrote:
> > +	for (band = 0; band < p->bands; ++band) {
> > +		/* The KSZ switches utilize a weighted round robin configuration
> > +		 * where a certain number of packets can be transmitted from a
> > +		 * queue before the next queue is serviced. For more information
> > +		 * on this, refer to section 5.2.8.4 of the KSZ8565R
> > +		 * documentation on the Port Transmit Queue Control 1 Register.
> > +		 * However, the current ETS Qdisc implementation (as of February
> > +		 * 2023) assigns a weight to each queue based on the number of
> > +		 * bytes or extrapolated bandwidth in percentages. Since this
> > +		 * differs from the KSZ switches' method and we don't want to
> > +		 * fake support by converting bytes to packets, we have decided
> > +		 * to return an error instead.
> > +		 */
> > +		if (p->quanta[band]) {
> > +			dev_err(dev->dev, "Quanta/weights configuration is not supported.\n");
> > +			return -EOPNOTSUPP;
> > +		}
> 
> So what does the user gain using tc-ets over tc-mqprio? That has a way
> to set up strict prioritization and prio:tc maps as well, and to my
> knowledge mqprio is vastly more popular in non-DCB setups than tc-ets.
> The only thing is that with mqprio, AFAIK, the round robin between TXQs
> belonging to the same traffic class is not weighted.

Do mqprio already supports strict prio mode? net-next was not supporting
this back for two weeks. I do not care what to use, my motivation was based on
following points:
- tc-ets supports strict prio. mqprio need to be extended to do this
- tc-ets refers to IEEE 802.1Q specification, so i feel safe
  and do not need to invent new things.
- mqprio automatically creates software queues, but it seems to not
  provide any advantage for a typical bridged DSA setup. For example
  i can use queue mapping only for traffic from CPU to external DSA port
  but can't use multi queue advantages of CPU MAC for same traffic  (do I'm
  missing something). For bridged traffic i'll need to use HW offloading any
  way.

Regards,
Oleksij
-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ