On Sat, Jan 19, 2019 at 11:08:27AM +0100, Andrea Righi wrote: [..] > Alright, let's skip the root cgroup for now. I think the point here is > if we want to provide sync() isolation among cgroups or not. > > According to the manpage: > > sync() causes all pending modifications to filesystem metadata and cached file data to be > written to the underlying filesystems. > > And: > According to the standard specification (e.g., POSIX.1-2001), sync() schedules the writes, but > may return before the actual writing is done. However Linux waits for I/O completions, and > thus sync() or syncfs() provide the same guarantees as fsync called on every file in the sys‐ > tem or filesystem respectively. > > Excluding the root cgroup, do you think a sync() issued inside a > specific cgroup should wait for I/O completions only for the writes that > have been generated by that cgroup? Can we account I/O towards the cgroup which issued "sync" only if write rate of sync cgroup is higher than cgroup to which page belongs to. Will that solve problem, assuming its doable? Vivek