-
Notifications
You must be signed in to change notification settings - Fork 4
Weekly Progress
Gautam Ramakrishnan edited this page Nov 11, 2018
·
10 revisions
- Allotted the project.
- Read about Active Queue Management (AQM).
- Read briefly the various AQM algorithms; RED, CoDel and PIE.
- Read in detail the paper "PIE: A Lightweight Control Scheme to Address the Bufferbloat Problem".
- Read RFC 8033 "Proportional Integral Controller Enhanced (PIE): A Lightweight Control Scheme to Address the Bufferbloat Problem"
- Asked mentor for reference material for implementation as no internet draft, paper or RFC exists.
- Read implementation of RED, CoDel, and PIE algorithms for linux kernel.
- Read implementation of CoDel FQ for linux kernel.
- Read up on Linux Kernel Modules
- Read up on Linux Kernel Network Structures
- Incorporated changes on to the linux kernel tree.
- Detailed read-up of the IETF RFC on PIE.
- Validated our implementation with the algorithm given in the RFC.
- Corrected the bugs found.
- Discussed the implementation of FQ-PIE with mentors
- Clarified doubts on whether the paremeter 'TARGET' can be used as a common value for all the queues.
- Compiled the linux kernel 4.18 with FQ-PIE.
- Added FQ-PIE support for the iproute2 tc package.
- Started testing the code on the physical testbed, using flent.
- Faced heavy logical errors. Multiple flows were crashing on the dequeue function.
- Restart creating the module in a stepwise manner for easy debugging.
- Started failing again when timer functionality was added. Failure occurs in dequeue function.
- Recompiled kernel with lockdep, this functionality is to log all possible logs and deadlocks in the system.
- System panic error while booting the kernel with lockdep. Recompiled the 4.18 kernel multiple times with lockdep enabled, kept failing to boot. Booted successfully when compiled without lockdep.
- Found out the error, we missed out a pointer initialization to null, which caused a segfault. Thanks to our mentors Sachin Patil and Leslie for their support with the testing.
- Final touchups to the project, setting up the repository correctly.
- Integrated the modularized sch_pie.c.