Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Aug 2012 10:54:43 -0500
From:      Alan Cox <alc@rice.edu>
To:        "Jayachandran C." <c.jayachandran@gmail.com>
Cc:        mips@freebsd.org
Subject:   Re: mips pmap patch
Message-ID:  <50325DC3.3090201@rice.edu>
In-Reply-To: <CA%2B7sy7CK=EXu88XKYYXDV1uf3U7eebq3e6rfwgHRhQyFTMv7dQ@mail.gmail.com>
References:  <50228F5C.1000408@rice.edu> <CA%2B7sy7DxqhGhJt%2BwE3WW2-j4SxnPweULjYS5GQ=NgMYSrwJHtw@mail.gmail.com> <50269AD4.9050804@rice.edu> <CA%2B7sy7AZ-s2H6COfvz60N=kxw%2BWUiUC9diVfWg9aOzWSZKGWRQ@mail.gmail.com> <5029635A.4050209@rice.edu> <CA%2B7sy7Cnsy7Ag1iG=_Kj04gEXeYp7kZnpACQpD8THvkp0VKdcA@mail.gmail.com> <502D2271.6080105@rice.edu> <CA%2B7sy7CK=EXu88XKYYXDV1uf3U7eebq3e6rfwgHRhQyFTMv7dQ@mail.gmail.com>

index | next in thread | previous in thread | raw e-mail

On 08/20/2012 05:36, Jayachandran C. wrote:
> On Thu, Aug 16, 2012 at 10:10 PM, Alan Cox<alc@rice.edu>  wrote:
>> On 08/15/2012 17:21, Jayachandran C. wrote:
>>> On Tue, Aug 14, 2012 at 1:58 AM, Alan Cox<alc@rice.edu>   wrote:
>>>> On 08/13/2012 11:37, Jayachandran C. wrote:
> [...]
>>>>> I could not test for more than an hour on 32-bit due to another
>>>>> problem (freelist 1 containing direct-mapped pages runs out of pages
>>>>> after about an hour of compile test).  This issue has been there for a
>>>>> long time, I am planning to look at it when I get a chance.
>>>>>
>>>> What exactly happens?  panic?  deadlock?
>>> The build slows down to a crawl and hangs when it runs out of pages in
>>> the freelist.
>>
>> I'd like to see the output of "sysctl vm.phys_segs" and "sysctl
>> vm.phys_free" from this machine.  Even better would be running "sysctl
>> vm.phys_free" every 60 seconds during the buildworld.  Finally, I'd like to
>> know whether or not either "ps" or "top" shows any threads blocked on the
>> "swwrt" wait channel once things slow to a crawl.
> I spent some time looking at this issue.  I use a very large kernel
> image with built-in root filesystem, and this takes about 120 MB  out
> of the direct mapped area. The remaining pages (~64 MB) are not enough
> for the build process.  If I increase free memory in this area either
> by reducing the rootfs size of by adding a few more memory segments to
> this area, the build goes through fine.

I'm still curious to see what "sysctl vm.phys_segs" says.  It sounds 
like roughly half of the direct map region is going to DRAM and half to 
memory-mapped I/O devices.  Is that correct?

> I also found that when the build slows down, most of the pages taken
> from freelist 1 are allocated by the UMA subsystem, which seems to
> keep quite a few pages allocated.

At worst, it may be necessary to disable the use of uma_small_alloc() 
for this machine configuration.  At best, uma_small_alloc() could be 
revised opportunistically use pages in the direct map region, but have 
the ability to fall back to pages that have to be mapped.

Alan



home | help

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