Re: ALTQ modifications proposal
Emmanuel Nyarko <[email protected]> Thu, 19 Jun 2025 00:29:53 +0000
| Newsgroups | gmane.os.netbsd.devel.kernel,gmane.os.netbsd.devel.network |
|---|---|
| Message-ID | <[email protected]> |
> On 18 Jun 2025, at 7:22 PM, Paul Goyette <[email protected]> wrote: > > On Wed, 18 Jun 2025, Emmanuel Nyarko wrote: > >> Hi all, >> >> I have already spoken to a few developers about this and now want to make everyone aware. >> >> The current state of ALTQ: >> ALTQ code is very large with so maany queueing disciplines. >> >> The state of the art per my research is Fair Queuing CoDel FQ-Codel.(i did the work in making CoDel work in netbsd). >> >> The previous disciplines are not well maintained and adding another discipline makes it worse(maintainability). >> >> i want to update it to FQ-CoDel and bring it in now so we use it as our primary and maybe only active queue managements. >> >> How do i want to bring it in ? >> 1. Remove all the existing disciplines (openBSD has taken this step already) >> 2. Use fq-codel which is easy to configure with fewer parameters and proves to be very effecitve in mitigating bufferbloat >> 3. modularize it (so we don’t have to recompile kernel anytime one wants to use it. as opposed to the current) >> 4. find a way to write tests for it >> 5. update the docs. >> >> Modularizing: >> this will also help for easy integration into NPF. >> all points of contacts to ALTQ will be changed to agree with the decision eg: in if_inittialise( when a new network device is connected) and also when detached for each network interface. >> >> >> Hence, we can have a modular, and smaller quality of service codebase to use and maintain. > > Please note that we also need to modularize the ALTQ code itself, preferably prior to modularizing the queueing disciplines. I looked > at it once a while ago, but did not proceed due to lack of knowledge > re ALTQ itself. Yess, also get it in rump too. Modularizing it as it is now is complex. we will even have to remove some #ifdef blocks in the network stack as well. so i just want to have just codel. no #ifdef blocks, just either simple have it in base during boot, or modload it when you need it. > > Good luck! > > > +---------------------+--------------------------+----------------------+ > | Paul Goyette (.sig) | PGP Key fingerprint: | E-mail addresses: | > | (Retired) | 1B11 1849 721C 56C8 F63A | [email protected] | > | Software Developer | 6E2E 05FD 15CE 9F2D 5102 | [email protected] | > | & Network Engineer | | [email protected] | > +---------------------+--------------------------+----------------------+ Emmanuel