On Sat, May 20, 2023 at 08:31:01AM -0700, Chris Li wrote: > > This is basically where we need to get everyone aligned. The RLIMIT > > approach currently implemented by my patch series does (2). For example: > > > > 1. If a process in a pincg requests (eg. via driver ioctl) to pin a page > > it is charged against the pincg limit and will fail if going over > > limit. > > > > 2. If the same process requests another pin (doesn't matter if it's the > > same page or not) it will be charged again and can't go over limit. > > > > 3. If another process in the same pincg requests a page (again, doesn't > > matter if it's the same page or not) be pinned it will be charged > > against the limit. > > I see. You want to track and punish the number of time process > issue pin ioctl on the page. Yes, because it is feasible to count that without a lot of overhead In a perfect world each cgroup would be charged exactly once while any pin is active regardless of how many times something in the cgroup caused it to be pinned . Jason