Hello,

My name is Anup. I'd like to participate in the project at
https://wiki.netbsd.org/projects/project/swap-auto/. I'm not a student but
I think I'm eligible as I've never participated in GSoC or other project
based FOSS internships. I'm interested in the FOSS industry and I'd like to
contribute and build experience around the same to transition into being an
active member of the FOSS industry. I'm currently a mentee in ACM's
Sigplan-M program and am learning Agda out of interest in its domains. I
also practice almost daily on Leetcode - you can check my profile at
https://leetcode.com/u/parikhanupk/. Please let me know if you want to know
anything else or offer some pointers to me in the context of this project.

I've answered some questions from
https://wiki.netbsd.org/projects/application/ as follows:

Goal:
Auto create swap on memory pressure

Deliverables:
Code and documentation

Overview:
1. Study/Research the swapping behavior of NetBSD kernel
2. Identify files/functions where modifications need to be made
3. Write code along with documentation

Similar software availability:
Not that I know of

Is the project a port or a rewrite:
No. This will be new code added into NetBSD code and it will be licensed
under a NetBSD compatible license.

NetBSD experience:
Not yet. I am an absolute newcomer to NetBSD. I'm sending this first email
as an expression of interest in this project. I'll do this by the next
weekend (March 16 2025) - all of it like installing, configuration,
building kernel and userland. I haven't worked on pkgsrc and this project,
I think, wouldn't require working on pkgsrc, however, I typically use a
custom Linux based system built natively from sources (it's heavily based
on LFS and BLFS projects, except that it's a naive but near complete
automation).

Prior experience:
I've done this in userspace when some of my builds failed due to memory
pressure (for example LLVM, Libreoffice, Firefox, etc.) where I added swap
file creation in specific build scripts. Please note that this was just a
few additional lines in shell scripts. Also around 2010/2011 when I was
working on a chess related program, I did this sort of thing in userspace -
this was a custom allocator that programs could use to allocate as much
memory as one wanted by specifying physical RAM limits. For example, one
could allocate a billion 32-byte objects (32 GiB) with a RAM limit of 256
MiB and my library handled everything else (the user accessed their objects
by index). It worked well for its purpose (sequential access). I wrote this
in C# and I do not have the code but I'm mentioning this as it's something
that relates to this project. Perhaps usage specific behavior could be
added to the swapping mechanism.

Thanks and regards,
Anup K Parikh.

Reply via email to