Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Sep 2014 00:25:32 -0700
From:      John-Mark Gurney <jmg@funkthat.com>
To:        d@delphij.net
Cc:        "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, Adrian Chadd <adrian@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, Xin LI <delphij@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>
Subject:   Re: svn commit: r269964 - head/sys/kern
Message-ID:  <20140913072532.GV82175@funkthat.com>
In-Reply-To: <5413DEBE.7060301@delphij.net>
References:  <201408140531.s7E5VeWw077792@svn.freebsd.org> <CAJ-Vmo=dx8Z6mX616A-SfzQqfT97F7h_kd-6KiWU2QW=YBSm=w@mail.gmail.com> <5413C6C1.7090308@delphij.net> <20140913052241.GU82175@funkthat.com> <5413DEBE.7060301@delphij.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Xin Li wrote this message on Sat, Sep 13, 2014 at 14:05 +0800:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> On 9/13/14 1:22 PM, John-Mark Gurney wrote:
> > Xin Li wrote this message on Sat, Sep 13, 2014 at 12:23 +0800:
> >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
> >> 
> >> On 9/13/14 3:41 AM, Adrian Chadd wrote:
> >>> Hi guys,
> >>> 
> >>> Both r269963 and r269964 have broken the MIPS platforms with 
> >>> smaller amounts of RAM (< 64MB.)
> >>> 
> >>> Sean noticed it and filed a bug:
> >>> 
> >>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193465
> >>> 
> >>> Can we please figure out what changed? Otherwise I'm going to 
> >>> revert these two changes until we figure out what happened.
> >> 
> >> Could you please try if this would mitigate the issue?
> >> 
> >> Index: sys/kern/kern_malloc.c 
> >> ===================================================================
> >>
> >> 
> - - --- sys/kern/kern_malloc.c      (revision 271494)
> >> +++ sys/kern/kern_malloc.c      (working copy) @@ -717,6 +717,8
> >> @@ kmeminit(void) * a given architecture. */ mem_size =
> >> vm_cnt.v_page_count; +       if (mem_size <= 32768) /* delphij
> >> XXX 128MB */ +               kmem_zmax = PAGE_SIZE;
> >> 
> >> if (vm_kmem_size_scale < 1) vm_kmem_size_scale =
> >> VM_KMEM_SIZE_SCALE;
> >> 
> > 
> > Has more research been done on this?  My 64MB AVILA board boots
> > fine, and ath attaches fine...
> 
> It's theoretically possible that my change brings a regression for
> small system, as the larger allocation units now "caches" the
> allocation instead of returning them immediately.  Sean also confirms
> that reverting the two changes only would fix the issue, so I think we
> should use some autotune here.

I agree that it could possibly bring a regression for small memory
systems, but I'm not seeing that w/ mine...  and it looks like we have
zone draining in the case of low memory, though it looks like we don't
have a "target" for how much memory to free, nor do we order which zones
we should free from (like remembering where we stopped, so we don't
flush all memory, or target zones/buckets)...

I'm also concerned that your patch prevents people from using a larger
max if they'd like by setting a tunable... Your patch just hard sets
it, preventing the tunable to doing anything useful on these smaller
systems, so if someone wants the additional zones, they'd need to
modify the source...

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140913072532.GV82175>