Dear NetBSD kernel developers,
I hope this email finds you well. You can call me Mahno, and I am very 
interested in contributing to the "Asynchronous I/O" project for NetBSD’s GSoC 
2025. After carefully reviewing the project description, I have a few questions 
about the technical expectations for contributors, and I would be grateful for 
your insights.

Questions About Project Requirements:
1. Prior Contributions to Industrial-Grade Kernels:
   - The project involves significant revisions to NetBSD’s I/O subsystem. Is 
prior experience contributing to production-grade kernels (e.g., NetBSD, Linux, 
FreeBSD) a strict requirement, or can familiarity with academic/research 
kernels (e.g., xv6, Minix) suffice for initial contributions?

2. Skill Priorities:
   - Would familiarity with thread synchronization models (e.g., lock-free 
queues, work-stealing) be essential for addressing the current single-threaded 
bottleneck in the AIO implementation?

3. NetBSD-Specific Knowledge:
   - To diagnose undocumented edge cases in the current AIO implementation, how 
much familiarity with NetBSD’s VFS layer or driver architecture is expected 
upfront?


My Current Skills:
- Kernel Development:
  - Completed all labs in MIT 6.1810 (Operating System Engineering), including 
implementing system calls, CoW virtual memory, and thread scheduling in xv6.
  - Experimented with debugging in kernel code using gdb.

- Algorithmic Foundations:
  - Awarded an International Collegiate Programming Contest Regional Bronze 
Medal (2023, 2024), with rigorous training in optimizing algorithms and data 
structures—a skill I believe could help improve parallelism in the AIO 
subsystem.

- Systems Familarity:
  - Daily use of BSD/Linux systems for 3+ years, including writing small kernel 
modules and profiling performance bottlenecks with tools like `perf` and 
`dtrace`.


To align with the project’s goals, I am currently:
- Auditing NetBSD’s existing AIO implementation to understand its threading 
model.
- Researching async I/O paradigms (e.g., Linux `io_uring`, Windows IOCP) to 
compare design tradeoffs.

I would deeply appreciate any advice on how to strengthen my preparation or 
specific areas to focus on. Thank you for your time — I am eager to learn and 
contribute to NetBSD’s future.

Best regards,
ma...@libertarian.dev

Reply via email to