Takuya Yoshikawa wrote: > Hi, > > Andrea Righi wrote: >> TODO: >> >> * Try to push down the throttling and implement it directly in the I/O >> schedulers, using bio-cgroup (http://people.valinux.co.jp/~ryov/bio-cgroup/) >> to keep track of the right cgroup context. This approach could lead to more >> memory consumption and increases the number of dirty pages (hard/slow to >> reclaim pages) in the system, since dirty-page ratio in memory is not >> limited. This could even lead to potential OOM conditions, but these problems >> can be resolved directly into the memory cgroup subsystem >> >> * Handle I/O generated by kswapd: at the moment there's no control on the I/O >> generated by kswapd; try to use the page_cgroup functionality of the memory >> cgroup controller to track this kind of I/O and charge the right cgroup when >> pages are swapped in/out > > Could you explain which cgroup we should charge when swap in or out occurs? IMHO we should charge the owner of the page being swapped in/out (not kswapd I mean). If a task is using a lot of memory and the memory of this task is swapped out, it's actually generating i/o. Yes, we could also hit other tasks that are using few pages in this way, but the most memory consuming guys should be charged proportionally to the memory they're consuming. IOW, this kind of i/o activity should be charge to the cgroup the task belongs to. -Andrea _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers