View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001442 | channel: elrepo/el8 | --kernel--request-for-enhancement-- | public | 2024-04-03 17:36 | 2024-09-24 16:34 |
Reporter | agoodm | Assigned To | toracat | ||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | assigned | Resolution | reopened | ||
Platform | x86_64 | OS | Alma Linux | OS Version | 8 |
Summary | 0001442: Please provide tc-sched-cake kernel module | ||||
Description | Some features of iproute-tc require kernel module sch_cake. Source code for the module is provided within the kernel srpm however the module is not available by default. I've compiled the module and it appears to work correctly once installed. | ||||
Steps To Reproduce | mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} rpm -i https://repo.almalinux.org/vault/8.9/BaseOS/Source/Packages/kernel-4.18.0-513.18.1.el8_9.src.rpm rpmbuild -bp --target=$(uname -m) kernel.spec cd BUILD/kernel-4.18.0-513.18.1.el8_9/ make oldconfig Then I manually edited the config to enable the module Then I spent ages trying to work out what make line to build the module - eg make -j4 M=something before giving up and just building all the modules make -j4 modules The cp net/sched/sch_cake.ko /lib/modules/4.18.0-513.18.1.el8_9.x86_64/kernel/net/sched/ | ||||
Tags | No tags attached. | ||||
|
Acknowledged. |
|
We will work on building a kmod for sch_cake. In the meantime, you might want to do a test install of our kernel-lt (1) or kernel-ml (2). The sch_cake kernel module is enabled in those kernels. (1) https://elrepo.org/wiki/doku.php?id=kernel-lt (2) https://elrepo.org/wiki/doku.php?id=kernel-ml |
|
The following package has been built and will be syncing to our mirrors shortly: kmod-sch_cake-0.0-1.el8_9.elrepo.x86_64.rpm |
|
Thank you for adding this module. I installed it on some test systems and it appears to function as expected. |
|
Great to hear it's working. Now closing as resolved. |
|
If you want to adjust the 'tin' sizes in cake the expectation is that you patch the kernel module. I dont personally like the approach however its safe to say that all the latest and greatest traffic shaping innovations are in cake and cake only. In some of my setups I actually do need to adjus the tin sizes in order to get performance parity with my previous hfsc+fq_codel approach. Therefore I ponder if its possible to supply a patch file; which could be applied to the source code (if it exists) before the module is compiled? |
|
If you need to patch the source, you are welcome to take our SRPM, apply your own patch as required and rebuild the package for your own use. However, a better solution might be to ask the code maintainer to allow such variables to be passed to the kernel module at load time, if this is not already the case? |
|
Could you provide a high level overview of that process? I need to try and automate this. Re improving the originating source code... Yes I agree this would be better. Sadly the view of the author is that they were creating a no knobs and dials solution as a one size fits most approach. I think largely because most users cant be trusted to change the settings without screwing them up. Ultimately this works in most scenarios. Unfortunately I dont install networks in normal scenarios some of the time I do need to adjust the splits. Add to this the stagnant nature of development for most of the linux kernel cqm stuff and the fact this software is the only place to get loads of useful features and you can perhaps understand why I am looking to do this. |
|
What you want to do is make whatever variables into kernel module parameters. https://tldp.org/LDP/lkmpg/2.6/html/x323.html We don't know the CAKE scheduler code, so you need to be very specific with what you're asking: - names of variable - description of variable - default value will be whatever the current value is - recommend to have a valid range Here is the current source code for our sch_cake kmod package: https://github.com/elrepo/packages/blob/master/sch_cake-kmod/el8/sch_cake.c |
|
In my application I override the default 'tin mapping'. I use diffserv3 or diffserv4 mode which makes 3/4 'tins'. I am not 100% certain which lines I need to adjust but most likely I need to adjust lines 2502, 2504, 2508, 2509, 2510. This would then change the bandwidth split between the tins. Specifically I need more bandwidth in my real time (voice) tin. I was somewhat expecting to download the srpm, 'install it' (which seems to extract it to a pre determined directory usually) then apply a patch file which I could create programmatically, do whatever was needed to install/reload the module? |
|
Here's the current RHEL 8.10 SRPM: https://elrepo.org/linux/elrepo/el8/SRPMS/kmod-sch_cake-0.0-2.el8_10.elrepo.src.rpm Here are some directions on rpmbuild. https://www.redhat.com/sysadmin/create-rpm-package If you have a patch file, we can help you get it integrated with a test build. But as of right now, I don't think there is anything further for us to do. |
Date Modified | Username | Field | Change |
---|---|---|---|
2024-04-03 17:36 | agoodm | New Issue | |
2024-04-03 17:36 | agoodm | Status | new => assigned |
2024-04-03 17:36 | agoodm | Assigned To | => toracat |
2024-04-03 17:39 | toracat | Status | assigned => acknowledged |
2024-04-03 17:39 | toracat | Note Added: 0009649 | |
2024-04-03 17:45 | toracat | Note Added: 0009651 | |
2024-04-03 21:24 | toracat | Note Added: 0009654 | |
2024-04-03 21:24 | toracat | Status | acknowledged => feedback |
2024-04-04 10:36 | agoodm | Note Added: 0009655 | |
2024-04-04 10:36 | agoodm | Status | feedback => assigned |
2024-04-04 12:00 | toracat | Status | assigned => resolved |
2024-04-04 12:00 | toracat | Resolution | open => fixed |
2024-04-04 12:00 | toracat | Note Added: 0009656 | |
2024-08-07 13:10 | agoodm | Status | resolved => assigned |
2024-08-07 13:10 | agoodm | Resolution | fixed => reopened |
2024-08-07 13:10 | agoodm | Note Added: 0010009 | |
2024-08-14 11:49 | pperry | Note Added: 0010025 | |
2024-09-24 07:54 | agoodm | Note Added: 0010117 | |
2024-09-24 09:16 | tqhoang | Note Added: 0010118 | |
2024-09-24 10:59 | agoodm | Note Added: 0010119 | |
2024-09-24 16:34 | tqhoang | Note Added: 0010121 |