Re: [RFC 07/15] slub: Add defrag_used_ratio field and sysfs support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 08, 2019 at 09:01:51AM -0700, Tycho Andersen wrote:
> On Fri, Mar 08, 2019 at 03:14:18PM +1100, Tobin C. Harding wrote:
> > --- a/mm/slub.c
> > +++ b/mm/slub.c
> > @@ -3642,6 +3642,7 @@ static int kmem_cache_open(struct kmem_cache *s, slab_flags_t flags)
> >  
> >  	set_cpu_partial(s);
> >  
> > +	s->defrag_used_ratio = 30;
> >  #ifdef CONFIG_NUMA
> >  	s->remote_node_defrag_ratio = 1000;
> >  #endif
> > @@ -5261,6 +5262,28 @@ static ssize_t destroy_by_rcu_show(struct kmem_cache *s, char *buf)
> >  }
> >  SLAB_ATTR_RO(destroy_by_rcu);
> >  
> > +static ssize_t defrag_used_ratio_show(struct kmem_cache *s, char *buf)
> > +{
> > +	return sprintf(buf, "%d\n", s->defrag_used_ratio);
> > +}
> > +
> > +static ssize_t defrag_used_ratio_store(struct kmem_cache *s,
> > +				       const char *buf, size_t length)
> > +{
> > +	unsigned long ratio;
> > +	int err;
> > +
> > +	err = kstrtoul(buf, 10, &ratio);
> > +	if (err)
> > +		return err;
> > +
> > +	if (ratio <= 100)
> > +		s->defrag_used_ratio = ratio;
>     else
>         return -EINVAL;

Nice, thanks.  I moulded your suggestion into

	if (ratio > 100)
		return -EINVAL;

	s->defrag_used_ratio = ratio;
	return length;


thanks,
Tobin.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux