Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 May 2015 19:25:13 -0700
From:      Adrian Chadd <adrian@freebsd.org>
To:        Keith White <kwhite@site.uottawa.ca>
Cc:        Rui Paulo <rpaulo@me.com>, freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: panic: UMA: Increase vm.boot_pages on Dell R920 r279210
Message-ID:  <CAJ-VmokNfZG-vb%2BcCQH1UK-pJpwjgm9FM0x1H6zwc5FS5hWbEQ@mail.gmail.com>
In-Reply-To: <20150324155426.M7719@admin16.site.uottawa.ca>
References:  <20150319095306.C7719@admin16.site.uottawa.ca> <528B3B45-378E-44CD-A286-0269E84C4F70@me.com> <54997.66.186.85.232.1427195954.squirrel@courriel.site.uottawa.ca> <1A6D6059-21A2-467C-979D-E413623753FD@me.com> <20150324155426.M7719@admin16.site.uottawa.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
hi,

Hm, should we be upping this limit automatically? Can we get cpu
counts or memory amount early enough in boot to have a hope of
auto-tuning?

64 seems low, 1024 seems high as a default. :)



-adrian


On 24 March 2015 at 13:00, Keith White <kwhite@site.uottawa.ca> wrote:
> On Tue, 24 Mar 2015, Rui Paulo wrote:
>
>> On Mar 24, 2015, at 04:19, kwhite@site.uottawa.ca wrote:
>>>
>>>
>>> I'm using /boot/loader.conf. Is there another place I should be doing
>>> this?
>>
>>
>> No, that's correct, but apparently there's a problem: the RDTUN sysctl is
>> not picked up early enough.  Can you try this patch?  I haven't really
>> tested it. :-)
>>
>> diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
>> index 79665ba..a764788 100644
>> --- a/sys/vm/vm_page.c
>> +++ b/sys/vm/vm_page.c
>> @@ -134,8 +134,9 @@ long first_page;
>> int vm_page_zero_count;
>>
>> static int boot_pages = UMA_BOOT_PAGES;
>> -SYSCTL_INT(_vm, OID_AUTO, boot_pages, CTLFLAG_RDTUN, &boot_pages, 0,
>> -       "number of pages allocated for bootstrapping the VM system");
>> +SYSCTL_INT(_vm, OID_AUTO, boot_pages, CTLFLAG_RDTUN | CTLFLAG_NOFETCH,
>> +    &boot_pages, 0,
>> +    "number of pages allocated for bootstrapping the VM system");
>>
>> static int pa_tryrelock_restart;
>> SYSCTL_INT(_vm, OID_AUTO, tryrelock_restart, CTLFLAG_RD,
>> @@ -349,6 +350,7 @@ vm_page_startup(vm_offset_t vaddr)
>>         * Allocate memory for use when boot strapping the kernel memory
>>         * allocator.
>>         */
>> +       TUNABLE_INT_FETCH("vm.boot_pages", &boot_pages);
>>        new_end = end - (boot_pages * UMA_SLAB_SIZE);
>>        new_end = trunc_page(new_end);
>>        mapped = pmap_map(&vaddr, new_end, end,
>> @@ -443,7 +445,7 @@ vm_page_startup(vm_offset_t vaddr)
>>
>>
>> --
>> Rui Paulo
>
>
> Patch tried.  Success!
>
> I now get this after setting vm.boot_pages=1024 in /boot/loader.conf:
>
> Booting...
> GDB: no debug ports present
> KDB: debugger backends: ddb
> KDB: current backend: ddb
> Copyright (c) 1992-2015 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>         The Regents of the University of California. All rights reserved.
> FreeBSD is a registered trademark of The FreeBSD Foundation.
> FreeBSD 11.0-CURRENT #1: Tue Mar 24 13:44:48 UTC 2015
>     root@:/usr/obj/usr/src/sys/GENERIC amd64
> FreeBSD clang version 3.5.1 (tags/RELEASE_351/final 225668) 20150115
> WARNING: WITNESS option enabled, expect reduced performance.
> UMA startup boot_pages: 1024
> ...
>
> And can start all 120 processors.
>
> Thanks!
>
> ...keith
> --
> Keith White, genie.uottawa.ca engineering.uottawa.ca
> kwhite@uottawa.ca [+1 613 562 5800 x6681]
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmokNfZG-vb%2BcCQH1UK-pJpwjgm9FM0x1H6zwc5FS5hWbEQ>