On Thu, Oct 05, 2017 at 03:21:44PM -0700, Shakeel Butt wrote: > The allocations from filp and names kmem caches can be directly > triggered by user space applications. A buggy application can > consume a significant amount of unaccounted system memory. Though > we have not noticed such buggy applications in our production > but upon close inspection, we found that a lot of machines spend > very significant amount of memory on these caches. So, these > caches should be accounted to kmemcg. IDGI... Surely, it's not hard to come up with a syscall that can allocate a page for the duration of syscall? Just to pick a random example: reading from /proc/self/cmdline does that. So does readlink of /proc/self/cwd, etc. What does accounting for such temporary allocations (with fixed limit per syscall, always freed by the end of syscall) buy you, why is it needed and what makes it not needed for the examples above (and a slew of similar ones)? While we are at it, how much overhead does it add on syscall-heavy loads? As in, a whole lot of threads is calling something like stat("/", &stbuf); in parallel? Because outside of that kind of loads it's completely pointless...