Re: panic: UMA: Increase vm.boot_pages on Dell R920 r279210

From: Adrian Chadd <adrian_at_freebsd.org>
Date: Sat, 2 May 2015 19:25:13 -0700
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_at_site.uottawa.ca> wrote:
> On Tue, 24 Mar 2015, Rui Paulo wrote:
>
>> On Mar 24, 2015, at 04:19, kwhite_at_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
>> _at__at_ -134,8 +134,9 _at__at_ 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,
>> _at__at_ -349,6 +350,7 _at__at_ 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,
>> _at__at_ -443,7 +445,7 _at__at_ 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_at_:/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_at_uottawa.ca [+1 613 562 5800 x6681]
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
Received on Sun May 03 2015 - 00:25:15 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:57 UTC