[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<PAXPR07MB798432ABD92FBDAA04D644B8A3BD2@PAXPR07MB7984.eurprd07.prod.outlook.com>
Date: Wed, 16 Apr 2025 16:51:07 +0000
From: "Chia-Yu Chang (Nokia)" <chia-yu.chang@...ia-bell-labs.com>
To: Victor Nogueira <victor@...atatu.com>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>, "dave.taht@...il.com" <dave.taht@...il.com>,
"pabeni@...hat.com" <pabeni@...hat.com>, "jhs@...atatu.com"
<jhs@...atatu.com>, "kuba@...nel.org" <kuba@...nel.org>,
"stephen@...workplumber.org" <stephen@...workplumber.org>,
"xiyou.wangcong@...il.com" <xiyou.wangcong@...il.com>, "jiri@...nulli.us"
<jiri@...nulli.us>, "davem@...emloft.net" <davem@...emloft.net>,
"edumazet@...gle.com" <edumazet@...gle.com>, "horms@...nel.org"
<horms@...nel.org>, "andrew+netdev@...n.ch" <andrew+netdev@...n.ch>,
"donald.hunter@...il.com" <donald.hunter@...il.com>, "ast@...erby.net"
<ast@...erby.net>, "liuhangbin@...il.com" <liuhangbin@...il.com>,
"shuah@...nel.org" <shuah@...nel.org>, "linux-kselftest@...r.kernel.org"
<linux-kselftest@...r.kernel.org>, "ij@...nel.org" <ij@...nel.org>,
"ncardwell@...gle.com" <ncardwell@...gle.com>, "Koen De Schepper (Nokia)"
<koen.de_schepper@...ia-bell-labs.com>, g.white <g.white@...lelabs.com>,
"ingemar.s.johansson@...csson.com" <ingemar.s.johansson@...csson.com>,
"mirja.kuehlewind@...csson.com" <mirja.kuehlewind@...csson.com>,
"cheshire@...le.com" <cheshire@...le.com>, "rs.ietf@....at" <rs.ietf@....at>,
"Jason_Livingood@...cast.com" <Jason_Livingood@...cast.com>, vidhi_goel
<vidhi_goel@...le.com>
CC: Olga Albisser <olga@...isser.org>, "Olivier Tilmans (Nokia)"
<olivier.tilmans@...ia.com>, Bob Briscoe <research@...briscoe.net>, Henrik
Steen <henrist@...rist.net>
Subject: RE: [PATCH v5 RESEND iproute2-next 1/1] tc: add dualpi2 scheduler
module
> -----Original Message-----
> From: Victor Nogueira <victor@...atatu.com>
> Sent: Wednesday, April 16, 2025 2:22 PM
> To: Chia-Yu Chang (Nokia) <chia-yu.chang@...ia-bell-labs.com>; netdev@...r.kernel.org; dave.taht@...il.com; pabeni@...hat.com; jhs@...atatu.com; kuba@...nel.org; stephen@...workplumber.org; xiyou.wangcong@...il.com; jiri@...nulli.us; davem@...emloft.net; edumazet@...gle.com; horms@...nel.org; andrew+netdev@...n.ch; donald.hunter@...il.com; ast@...erby.net; liuhangbin@...il.com; shuah@...nel.org; linux-kselftest@...r.kernel.org; ij@...nel.org; ncardwell@...gle.com; Koen De Schepper (Nokia) <koen.de_schepper@...ia-bell-labs.com>; g.white <g.white@...lelabs.com>; ingemar.s.johansson@...csson.com; mirja.kuehlewind@...csson.com; cheshire@...le.com; rs.ietf@....at; Jason_Livingood@...cast.com; vidhi_goel <vidhi_goel@...le.com>
> Cc: Olga Albisser <olga@...isser.org>; Olivier Tilmans (Nokia) <olivier.tilmans@...ia.com>; Bob Briscoe <research@...briscoe.net>; Henrik Steen <henrist@...rist.net>
> Subject: Re: [PATCH v5 RESEND iproute2-next 1/1] tc: add dualpi2 scheduler module
>
> [You don't often get email from victor@...atatu.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>
> CAUTION: This is an external email. Please be very careful when clicking links or opening attachments. See the URL nok.it/ext for additional information.
>
>
>
> On 4/14/25 10:18, chia-yu.chang@...ia-bell-labs.com wrote:
> > From: Chia-Yu Chang <chia-yu.chang@...ia-bell-labs.com>
> >
> > DUALPI2 AQM is a combination of the DUALQ Coupled-AQM with a PI2
> > base-AQM. The PI2 AQM is in turn both an extension and a
> > simplification of the PIE AQM. PI2 makes quite some PIE heuristics
> > unnecessary, while being able to control scalable congestion controls like TCP-Prague.
> > With PI2, both Reno/Cubic can be used in parallel with Prague,
> > maintaining window fairness. DUALQ provides latency separation between
> > low latency Prague flows and Reno/Cubic flows that need a bigger queue.
> >
> > This patch adds support to tc to configure it through its netlink
> > interface.
> >
> > Signed-off-by: Chia-Yu Chang <chia-yu.chang@...ia-bell-labs.com>
> > Co-developed-by: Olga Albisser <olga@...isser.org>
> > Signed-off-by: Olga Albisser <olga@...isser.org>
> > Co-developed-by: Koen De Schepper
> > <koen.de_schepper@...ia-bell-labs.com>
> > Signed-off-by: Koen De Schepper <koen.de_schepper@...ia-bell-labs.com>
> > Co-developed-by: Oliver Tilmans <olivier.tilmans@...ia.com>
> > Signed-off-by: Oliver Tilmans <olivier.tilmans@...ia.com>
> > Signed-off-by: Bob Briscoe <research@...briscoe.net>
> > Co-developed-by: Henrik Steen <henrist@...rist.net>
> > Signed-off-by: Henrik Steen <henrist@...rist.net>
> > ---
> > bash-completion/tc | 11 +-
> > include/uapi/linux/pkt_sched.h | 39 +++
> > include/utils.h | 2 +
> > ip/iplink_can.c | 14 -
> > lib/utils.c | 30 ++
> > man/man8/tc-dualpi2.8 | 249 ++++++++++++++++
> > tc/Makefile | 1 +
> > tc/q_dualpi2.c | 519 +++++++++++++++++++++++++++++++++
> > 8 files changed, 850 insertions(+), 15 deletions(-)
> > create mode 100644 man/man8/tc-dualpi2.8
> > create mode 100644 tc/q_dualpi2.c
>
> Hi!
>
> I compiled your patch and am seeing the following warnings:
>
> q_dualpi2.c: In function 'dualpi2_parse_opt':
> q_dualpi2.c:218:37: warning: pointer targets in passing argument 1 of 'get_u32' differ in signedness [-Wpointer-sign]
> 218 | if (get_u32(&min_qlen_step, *argv, 10)) {
> | ^~~~~~~~~~~~~~
> | |
> | int32_t * {aka int *}
> In file included from q_dualpi2.c:39:
> ../include/utils.h:157:20: note: expected '__u32 *' {aka 'unsigned int *'} but argument is of type 'int32_t *' {aka 'int *'}
> 157 | int get_u32(__u32 *val, const char *arg, int base);
> | ~~~~~~~^~~
> q_dualpi2.c: At top level:
> q_dualpi2.c:516:27: warning: initialization of 'int (*)(const struct qdisc_util *, int, char **, struct nlmsghdr *, const char *)' from incompatible pointer type 'int (*)(struct qdisc_util *, int, char **, struct nlmsghdr *, const char *)' [-Wincompatible-pointer-types]
> 516 | .parse_qopt = dualpi2_parse_opt,
> | ^~~~~~~~~~~~~~~~~
> q_dualpi2.c:516:27: note: (near initialization for
> 'dualpi2_qdisc_util.parse_qopt')
> q_dualpi2.c:517:27: warning: initialization of 'int (*)(const struct qdisc_util *, FILE *, struct rtattr *)' from incompatible pointer type 'int (*)(struct qdisc_util *, FILE *, struct rtattr *)'
> [-Wincompatible-pointer-types]
> 517 | .print_qopt = dualpi2_print_opt,
> | ^~~~~~~~~~~~~~~~~
> q_dualpi2.c:517:27: note: (near initialization for
> 'dualpi2_qdisc_util.print_qopt')
> q_dualpi2.c:518:27: warning: initialization of 'int (*)(const struct qdisc_util *, FILE *, struct rtattr *)' from incompatible pointer type 'int (*)(struct qdisc_util *, FILE *, struct rtattr *)'
> [-Wincompatible-pointer-types]
> 518 | .print_xstats = dualpi2_print_xstats,
> | ^~~~~~~~~~~~~~~~~~~~
> q_dualpi2.c:518:27: note: (near initialization for
> 'dualpi2_qdisc_util.print_xstats')
>
> cheers,
> Victor
Hi Victor,
Thanks for prompt feedback, I will fix these warning in the next version.
BRs,
Chia-Yu
Powered by blists - more mailing lists