Re: [RFC 0/3] Recursive reclaim (on __PF_MEMALLOC)

Christoph Lameter
2007-09-10T19:25:33Z

On Wed, 5 Sep 2007, Daniel Phillips wrote:

> > Na, that cannot be the case since it only activates when an OOM
> > condition would otherwise result.
>
> I did not express myself clearly then. Compared to our current
> anti-deadlock patch set, you patch set is a regression. Because
> without help from some of our other patches, it does deadlock.
> Obviously, we cannot have that.

Of course boundless allocations from interrupt / reclaim context will
ultimately crash the system. To fix that you need to stop the networking
layer from performing these.

> > Given your tests: It looks like we do not need it.
>
> I do not agree with that line of thinking. A single test load only
> provides evidence, not proof. Your approach is not obviously correct,
> quite the contrary. The tested patch set does not help atomic alloc at
> all, which is clearly a problem we can hit, we just did not hit it this
> time.

The patch is obviously correct because it provides memory where we used to
fail.

> > We have a global dirty page limit already. I fully support Peters
> > work on dirty throttling.
>
> Alas, I communicated exactly the opposite of what I intended. We do not
> like the global dirty limit. It makes the vm complex and fragile,
> unnecessarily. We favor an approach that places less reliance on the
> global dirty limit so that we can remove some of the fragile and hard
> to support workarounds we have had to implement because of it.

So far our experience has just been the opposite and Peter's other patches
demonstrate the same. Dirty limits make the VM stable and increase I/O
performance.