Hi all, I'm interested in getting my feet wet with kernel programming, and was happy to find the projects page at https://www.dragonflybsd.org/docs/developer/ProjectsPage/
I saw the "remove zalloc" project, and was thinking of trying to remove zalloc from /sys/vm/swap_pager.c. Is this still considered worth doing? If so, I will have a bunch of questions. If someone has the patience to help me through this, it would make me very happy! (Even if the end result doesn't get committed, I'll still have learned something.) I'd also be happy to be pointed to a different project. Questions: 1. I think switching to kmalloc would work, but would waste space, since allocations are rounded up to a power of 2. Is that right? (kmalloc might also be slower, but swap is super-slow anyway compared to main memory access, so I don't know if speed matters.) 2. The projects page says the existing uses can be changed to objcache. If that's the case, how exactly should objcache be used? Would it need a new allocator? I guess objcache_malloc_alloc isn't good because kmalloc wastes space. The man page suggests objcache_nop_alloc for "allocation policies that pre-allocate at initialization time instead of doing run-time allocation". I guess this is not good either because we should be able to allocate more memory if swap use grows. Does this mean a new objcache allocator should be written that allocates big chunks like zalloc? -- James