Bug 30725 - Add support for Congestion Control algo's
Summary: Add support for Congestion Control algo's
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 8
Hardware: All Linux
Priority: Normal enhancement
Target Milestone: ---
Assignee: Kernel and Drivers maintainers
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 30750
Blocks:
  Show dependency treegraph
 
Reported: 2022-08-08 19:18 CEST by Grozdan Nikolov
Modified: 2022-08-25 23:29 CEST (History)
4 users (show)

See Also:
Source RPM:
CVE:
Status comment:


Attachments

Description Grozdan Nikolov 2022-08-08 19:18:54 CEST
Hi,

Currently, the Mageia kernel only has Cubic hardcoded as the only congestion control algo. I would like to request to add the others too such as illinois, yeAH, westwood, etc.

It is unclear to me why your kernel does not have them included while other distro's kernel offer them all.
Grozdan Nikolov 2022-08-08 19:19:13 CEST

CC: (none) => neutrino8

Comment 1 Lewis Smith 2022-08-10 21:55:12 CEST
> request to add the others too such as illinois, yeAH, westwood, etc
> other distro's kernel offer them all
How does one choose between them?

Clearly this is for tmb to reply to.

CC: (none) => lewyssmith, tmb

Comment 2 Grozdan Nikolov 2022-08-10 21:59:03 CEST
you can change the CCA by issuing the following (example):

echo "illinois" > /proc/sys/net/ipv4/tcp_congestion_control

The problem is, you can't do that since the Mageia kernel has cubic hardcoded as the only available CCA. Adding support for the others is just a matter of selecting them during kernel config. They'll be built as modules.
Comment 3 Lewis Smith 2022-08-10 22:07:04 CEST
But there should be a more human way of causing the example command you cite, which is very expert; something in MCC in our case? How do other distributions make the available choices known and selectable?
Comment 4 Grozdan Nikolov 2022-08-10 22:11:27 CEST
You can add in /etc/sysctl.conf which CCA you want, something like:

net.ipv4.tcp_congestion_control = illinois

I think this can be easily implemented in MCC. I'm currently on openSUSE which has YaST and while it has no option for such, I just use sysctl.conf to select the CCA I want.

But first, the kernel has to offer the others too and not just cubic.
Comment 5 Thomas Backlund 2022-08-10 22:36:15 CEST
(In reply to Grozdan Nikolov from comment #0)
> Hi,
> 
> Currently, the Mageia kernel only has Cubic hardcoded as the only congestion
> control algo. I would like to request to add the others too such as
> illinois, yeAH, westwood, etc.
> 
> It is unclear to me why your kernel does not have them included while other
> distro's kernel offer them all.


Basically because no-one have requested them / expressed the need so far :)


config updates queued in svn for  next kernel builds for Cauldron and Mga 8

Cubic will still be the default one, but you will atleast be able to change if/when needed


(In reply to Lewis Smith from comment #3)
> But there should be a more human way of causing the example command you
> cite, which is very expert; something in MCC in our case? 

or not...

theese are expert options that you actually need to know what they do before you start tuning them... not really something a "normal end-user" need to even think about...
Comment 6 Grozdan Nikolov 2022-08-10 22:39:44 CEST
They're no more expert than say choosing a file system to use or choosing an I/O scheduler to use for an SSD/disk.
Comment 7 Thomas Backlund 2022-08-10 22:52:05 CEST
well, they are more expert (or maybe I should call them advanced) in the sense that most end-users dont really hit tcp congestion in a way that they would notice and theese would solve since they are still at the mercy of whatever / however their isp treats their traffic...

for filesystems many/most? endusers tend to go with the distro default for simplicity...

disk i/o scheduling on the other hand can actually be noticeable for the enduser...
but many endusers dont really care about that either...
Comment 8 Thomas Backlund 2022-08-11 21:05:27 CEST
There is now a kernel-5.15.60-1.mga8 in Core Updates Testing that has enabled support for switching algos
Comment 9 Grozdan Nikolov 2022-08-11 21:07:00 CEST
Thanks a lot! :)
I consider this topic closed...
Comment 10 Lewis Smith 2022-08-14 21:12:15 CEST
(In reply to Thomas Backlund from comment #8)
> There is now a kernel-5.15.60-1.mga8 in Core Updates Testing that has
> enabled support for switching algos
Impressive work Thomas, and thanks a lot. Assigning to QA in consequence.

@Grozdan
When you can try the new kernel 5.15.60 (best, from Core/Updates_Testing; else when it gets released as an update), please do test the functionality you asked for in comment 0, supplemented by comment 2, and report back here.
Our normal kernel testers are unlikely to be able to test the efficacity of the change.

Assignee: bugsquad => qa-bugs

Comment 11 Thomas Backlund 2022-08-14 21:57:18 CEST
Too fast...

Please dont assign kernels bugs to qa ...

I assing update requests when I consider them ready for wider tests, not for every bug that gets fixed...

Assignee: qa-bugs => kernel

Comment 12 Dave Hodgins 2022-08-14 22:41:40 CEST
After running "modprobe -v tcp_bic", changed from cubic to bic and back again.
[root@x3 ~]# echo bic>/proc/sys/net/ipv4/tcp_congestion_control
[root@x3 ~]# cat /proc/sys/net/ipv4/tcp_congestion_control
bic
[root@x3 ~]# echo cubic>/proc/sys/net/ipv4/tcp_congestion_control
[root@x3 ~]# cat /proc/sys/net/ipv4/tcp_congestion_control
cubic

Will close this bug when kernel 5.15.60-$flavor-4.mga8 is pushed to updates.

CC: (none) => davidwhodgins

Thomas Backlund 2022-08-15 11:53:05 CEST

Depends on: (none) => 30750

Comment 13 Grozdan Nikolov 2022-08-24 15:06:28 CEST
Hi,

It's been some time and a new kernel hasn't been released that offers these modules. I see there's already 5.15.61 in -testing but I like to get my updates from the official channel. 

Any ideas when we can expect it?
Comment 14 Thomas Backlund 2022-08-25 23:29:41 CEST
An update for this issue has been pushed to the Mageia Updates repository.

https://advisories.mageia.org/MGASA-2022-0305.html

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.