Hello, On Thu, Feb 12, 2015 at 12:22:34AM +0300, Konstantin Khlebnikov wrote: > > Yeah, available memory to the matching memcg and the number of dirty > > pages in it. It's gonna work the same way as the global case just > > scoped to the cgroup. > > That might be a problem: all dirty pages accounted to cgroup must be > reachable for its own personal writeback or balanace-drity-pages will be > unable to satisfy memcg dirty memory thresholds. I've done accounting Yeah, it would. Why wouldn't it? > for per-inode owner, but there is another option: shared inodes might be > handled differently and will be available for all (or related) cgroup > writebacks. I'm not following you at all. The only reason this scheme can work is because we exclude persistent shared write cases. As the whole thing is based on that assumption, special casing shared inodes doesn't make any sense. Doing things like allowing all cgroups to write shared inodes without getting memcg on-board almost immediately breaks pressure propagation while making shared writes a lot more attractive and increasing implementation complexity substantially. Am I missing something? > Another side is that reclaimer now (mosly?) never trigger pageout. > Memcg reclaimer should do something if it finds shared dirty page: > either move it into right cgroup or make that inode reachable for > memcg writeback. I've send patch which marks shared dirty inodes > with flag I_DIRTY_SHARED or so. It *might* make sense for memcg to drop pages being dirtied which don't match the currently associated blkcg of the inode; however, again, as we're basically declaring that shared writes aren't supported, I'm skeptical about the usefulness. Thanks. -- tejun -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>