Too many I/O controller patches
taka at valinux.co.jp
Tue Aug 5 23:48:21 PDT 2008
> > > > Buffered write I/O is also related with cache system.
> > > > We must consider this problem as I/O control.
> > >
> > > Agree. At least, maybe we should consider if an IO controller could be
> > > a valid solution also for these problems.
> > Isn't this one of the core points that we keep going back and forth
> > over? It seems like people are arguing in circles over this:
> > Do we:
> > 1. control potential memory usage by throttling I/O
> > or
> > 2. Throttle I/O when memory is full
> > I might lean toward (1) if we didn't already have a memory controller.
> > But, we have one, and it works. Also, we *already* do (2) in the
> > kernel, so it would seem to graft well onto existing mechanisms that we
> > have.
> > I/O controllers should not worry about memory.
> I agree here ;)
> >They're going to have a hard enough time getting the I/O part right. :)
> memcg have more problems now ;(
> Only a difficult thing to limit dirty-ratio in memcg is how-to-count dirty
> pages. If I/O controller's hook helps, it's good.
> My small concern is "What happens if we throttole I/O bandwidth too small
> under some memcg." In such cgroup, we may see more OOMs because I/O will
> not finish in time.
I/O controllers are just supposed to emulate slow device from the point
of view of the processes in a certain cgroup or something. I think
the memory management layer and the memory controller are the ones
which should be able to handle these, which might be as slow as
floppy disks though.
> A system admin have to find some way to avoid this.
> But please do I/O control first. Dirty-page control is related but different
> layer's problem, I think.
More information about the Containers