this is a very cool idea; I’ve been considering something similar recently. Been wondering if there would be some way to allow “normal” allocations up to a cgroup’s memory limit but, once the cgroup is exhausted, allow additional “purgable” allocations to be made as well.
Purgeable memory is a fantastic concept, and it would be great to see more software make use of it.
While I think this would benefit greatly from being implemented in the kernel rather than as a userspace hack, it’s always awesome to see userspace hacks, so kudos to Chris for this implementation! :)
Also, sidenote: the name “purgeable” (or actually “purgable” [sic]) comes from macOS. Windows has the same feature under the name Offer/Reclaim: https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-offervirtualmemory