RE: [RFC][PATCH 0/2] Tunable watermark

From: David Rientjes
Date: Thu Jan 13 2011 - 17:20:46 EST


On Thu, 13 Jan 2011, Satoru Moriya wrote:

> > You didn't mention why it wouldn't be possible to modify
> > setup_per_zone_wmarks() in some way for your configuration so this happens
> > automatically. If you can find a deterministic way to set these
> > watermarks from userspace, you should be able to do it in the kernel as
> > well based on the configuration.
>
> Do you mean that we should introduce a mechanism into kernel that changes
> watermarks dynamically depending on its loads (such as cpu frequency control)
> or we should change the calculation method in setup_per_zone_wmarks()?
>

The watermarks you're exposing through this patchset to userspace for the
first time are meant to be internal to the VM. Userspace is not intended
to manipulate them in an effort to cover-up deficiencies within the memory
manager itself. If you have actual cases where tuning the watermarks from
userspace is helpful, then it logically means:

- the VM is acting incorrectly in response to situations where it
approaches the tunable min watermark (all watermarks are a function of
the min watermark) which shouldn't representative in just a handfull
of cases, and

- you can deterministically do the same calculation within the kernel
itself.

I'm skeptical that any tuning is actually helpful to your workload that
doesn't also indicate a problem internal to the VM itself. I think what
would be more helpful is if you would show how the watermarks currently
don't trigger fast enough (or aggressive enough) and then address the
issue in the kernel itself so everyone can benefit from your work, whether
that's adjusting where the watermarks are based on external factors or
whether the semantics of those watermarks are to slightly change.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/