Re: memcg cgroup controller & sbrk interaction

From: Kamezawa Hiroyuki
Date: Tue Jun 12 2012 - 03:09:55 EST


(2012/06/08 10:19), Ron Chen wrote:
> We are from the Open Grid Scheduler, which is the official Open Source Grid Engine. Open Grid Scheduler/
> Grid Engine ( http://gridscheduler.sourceforge.net ) is used by many compute farms& HPC sites for job scheduling.
>
> In the next release, we are using cgroups to define a Job Container interface for batch jobs:
>
> http://blogs.scalablelogic.com/2012/05/grid-engine-cgroups-integration.html
>
>
> However, not only us, but others have found that the memcg controller does not cause sbrk(2) or mmap(2) to
> return error when the cgroup is under high memory pressure. Further, when the amount of free memory is
> really low, the Linux Kernel OOM killer picks something and kills it.
>
> http://www.spinics.net/lists/cgroups/msg02622.html
>
>
> We also would like to see if it is technically possible for the Virtual Memory Manager to interact with the
> memory controller properly and give us the semantics of setrlimit(2). So basically if the current address
> space usage exceeds the "memory.memsw.limit_in_bytes" limit defined by the administrator, then the
> memory allocation system calls (example: mmap(2), sbrk(2), etc) will return error such that the OOM
> killer is not invoked.
>

It's not implemented yet. And, it was proposed before and patches were posted but
finally didn't be merged.

IIRC, there were some implementation problem but the biggest reason of rejection
was the author couldn't convince us there are real use case.

If you have real use case and want a new feature on memory cgroup, please CC
cgroups@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx
Someone (including me) may be able to cook a patch for future linux kernel if you
have real use cases.

BTW, you can stop memory-cgroup-level oom-killer by memory.oom_control file.
But you cannot stop system-level oom-killer, there are no knobs.

Thanks,
-Kame

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/