Skip to content

Latest commit

 

History

History
88 lines (65 loc) · 3.94 KB

jules_LFX_Mentorship_report.md

File metadata and controls

88 lines (65 loc) · 3.94 KB

Work done during mentorship

  1. Accepted patches in the Linux Kernel
  2. During this mentorship, few patches were accepted and merges into the Linux Kernel. As my profile can show here, I submitted more than 30 patches.

    Some of the patches have been merged to the Linux Kernel [1] (https://lore.kernel.org/all/Yxi3pJaK6UDjVJSy@playground/)

    All accepted patches can be found on [2] (https://lore.kernel.org/all/?q=Jules+Irenge)

    Practice makes better, working in Kernel is no exception. The more I sent patches the better I became. One patch from which I learnt a lot is one that I made a change that appear simple in the BPF subsystem but ended up being a bug fix 3.
    The interaction I had with the BPF community in the mailing list was particularly welcoming, fun and learning experience.

  3. Attempted but not accepted
  4. On the request of Daniel Borkmann, I attempted to migrating the sample code [0] from BPF over to the BPF selftests [1]: [0] https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/tree/samples/bpf [1] https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/tree/tools/testing/selftests/bpf

    The objective was to reduce the mess as some few tests that are in the samples directory are not run on BPF CI Combining the file into one will increase the test on BPF CI and increase reliability on BPF subsystem.

    But the long patch was not accepted, I suspect it was because it features a lot of changes.

  5. Ongoing
    • xdp tools
    • I spent time reading about xdp and solving the exercise on the below:

      I ended up building two xdp tool and a bcc tool to exercise the skills learned.

      1. A tool that accepts all TCP packets, reject UDP and retransmit/bounce other type of packets back to the NIC and count how many packets have been transmitted, passed and dropped and present a percentage of dropped packet.

      Source code can be downloaded here - https://github.com/irenge/bcc-tools-devel/tree/main/count_packets

       
      $ sudo python countp.py -dev wlp5s0
      
      Packets count: UDP packets - drooped  TCP - accepted -  Other type of  Packet - bounced to NIC, hit CTRL+C to stop
      XDP_TX 1 pkt/s
      Total 1870 pkts/s
      XDP_PASS 1588 pkt/s
      Percentage dropped 0 % 
      XDP_DROP 4 pkt/s
      XDP_TX 1 pkt/s
      Total 1777 pkts/s
      XDP_TX 0 pkt/s
      Total 1776 pkts/s
      
      1. A tool that display how many packets passed, dropped, bounced, how many TCP packets, UDP packets and ping the machine received using XDP technology.
      Packet counts, hit CTRL+C to stop
      XDP_PASS 2 pkt/s
      Percentage dropped 0 % 
      UDP  2 pkt/s
      XDP_PASS 1165 pkt/s
      Percentage dropped 0 %  
      TCP  0 pkt/s
      UDP  736 pkt/s
      XDP_PASS 758 pkt/s
      Percentage dropped 0 % 
      
    • bcc tool issue assigned
    • - I contributed in updating a bcc tool named killsnoop to also use tracepoints to be able to run on newer and older Kernel. iovisor/bcc#4381 - In the process built a tool madvsnoop that help in tuning memory performance of application/system program program : madvsnoop: iovisor/bcc#4380
  6. Future task
  7. - Continue to contribute in the core Linux Kernel Open Source community - Read more about Linux Kernel development. - Enhance eBPF features - Create more bcc tools that uses both Tracepoints and kprobe for backward compatibility - Create an IT organisation that focus on program performance and safety.
  8. Thanks
  9. I would like to thank my mentor Elanna Coperman for guiding me and being patient with me and the Linux Foundation for offering me this opportunity to learn skills and develop passions.