Dear Tech-Kern Community,
As the saying goes: "*The deeper and more *thorough* the research, the
smoother and more efficient the execution.*"
With that in mind, over the past few weeks, along with my trusted cup of
coffee, I have been deeply analyzing the NetBSD kernel Source Code in
preparation for the project:

*Auto Create Swap on Memory Pressure (175 hours)*
NetBSD is known for its portability and efficiency across diverse hardware,
embedded systems and older machines with limited resources. However,
systems *without* a pre-configured swap partition can experience severe
performance degradation when subjected to memory pressure.

This project aims to dynamically allocate swap memory as needed, preventing
system slowdowns and crashes. *I have put together a detailed proposal of
roughly 51 pages outlining each step of the implementation process. Along
with that I have also incorporated Testing and Mentor Check-ins for each
week, to ensure the project is on track, and the set goals are met.*

*Request for Feedback*
During my research, I have encountered a few design dilemmas, thus I would
greatly appreciate the Mentors and community's guidance, approval on these
decisions.I have highlighted and linked specific sections on the first page
where your insights are needed the most for the best suitable
implementation approach.

If you could spare the time to review my proposal, leave comments or
suggest modifications, particularly on the mentioned sections along with
any general feedback, I would greatly appreciate it.
Your expertise and scrutiny are invaluable in shaping this project's
direction.

Proposal Link:
https://docs.google.com/document/d/14TFqRfIXPOndafki-n7mnEq7hg5yXYG0MVf5hdqBNQ8/edit?usp=sharing

*About Me:*
I have been coding in C for the past three years, primarily focusing on low
level projects, with some experience in embedded C programming.
Here are some of my relevant projects and experience:

   1. I have built a virtual machine from scratch, with its own
   assembly-like language all implemented in C.
   2. I have also developed a small scale kernel in C
   3. Worked on a four months long embedded C project using STM32
   Microcontroller
   4. Published research on Machine Learning based for System Log Anomaly
   Detection (with another paper pending publication on Linux System Log
   dataset analysis for security)
   5. I have also worked on and contributed to C and Rust hybrid Codebases
   6. Served as the core member for my college's Open Source Labs

I have also spent the past few years experimenting with the Linux kernel
and QEMU. NetBSD, because of its highly portable nature has played a key
part in my development journey.

*Motivation: Why this project matters to Me and NetBSD*
Having used NetBSD on resource constrained systems, I have personally
encountered scenarios where the lack of proper swap has led to severe
slowdowns. My experience with low memory systems started with my own 4 GB
laptop which I had growing up. I vividly remember struggling to attend Zoom
sessions, only to find my system locked up and slowing down due to improper
memory utilization. This led me to explore UNIX based systems and
eventually, the complexities of swap partitioning and proper memory
management. This gives me a strong motivation to improve NetBSD’s memory
resilience.

I believe this could particularly be useful for embedded devices, older
hardware, and diskless systems that would run NetBSD, where swap is not
always pre-configured and thus could be dynamically allocated when needed.

I would greatly appreciate your feedback on taking this project forward.
Thank You,
Soumyajyoti Sarkar

Reply via email to