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.