On Wed, May 29, 2013 at 11:29:29AM -0700, Andrew Morton wrote:
> On Wed, 29 May 2013 09:57:20 -0500 Seth Jennings 
> <sjenn...@linux.vnet.ibm.com> wrote:
> 
> > > > +/*********************************
> > > > +* helpers
> > > > +**********************************/
> > > > +static inline bool zswap_is_full(void)
> > > > +{
> > > > +       return (totalram_pages * zswap_max_pool_percent / 100 <
> > > > +               zswap_pool_pages);
> > > > +}
> > > 
> > > We have had issues in the past where percentage-based tunables were too
> > > coarse on very large machines.  For example, a terabyte machine where 0
> > > bytes is too small and 10GB is too large.
> > 
> > Yes, this is known limitation of the code right now and it is a high 
> > priority
> > to come up with something better.  It isn't clear what dynamic sizing policy
> > should be used so, until such time as that policy can be determined, this 
> > is a
> > simple stop-gap that works well enough for simple setups.
> 
> It's a module parameter and hence is part of the userspace interface. 
> It's undesirable that the interface be changed, and it would be rather
> dumb to merge it as-is when we *know* that it will be changed.
> 
> I don't think we can remove the parameter altogether (or can we?), so I
> suggest we finalise it ASAP.  Perhaps rename it to
> zswap_max_pool_ratio, with a range 1..999999.  Better ideas needed :(

zswap_max_pool_ratio is fine with me.  I'm not entirely clear on the change
though.  Would that just be a name change or a change in meaning?

Also, we can keep the tunable as I imagine there will always be some use for a
manual override of the (future) dynamic policy.  When the dynamic policy is
available, we can just say that zswap_max_pool_ratio = 0 means "use dynamic
policy" and change the default to 0.  Does that sounds reasonable?

Seth

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to