NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: port-evbmips/52501: erlite quickly fails to allocate memory and processes wedge
The following reply was made to PR port-evbmips/52501; it has been noted by GNATS.
From: Nick Hudson <skrll%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost, port-evbmips-maintainer%netbsd.org@localhost,
gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost, coypu%sdf.org@localhost
Cc:
Subject: Re: port-evbmips/52501: erlite quickly fails to allocate memory and
processes wedge
Date: Thu, 24 Aug 2017 21:48:54 +0100
This is a multi-part message in MIME format.
--------------9794A98B3DAA9AD1C6CAE85F
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
On 08/23/17 23:00, coypu%sdf.org@localhost wrote:
> The following reply was made to PR port-evbmips/52501; it has been noted by GNATS.
>
> From:coypu%sdf.org@localhost
> To:gnats-bugs%netbsd.org@localhost
> Cc:
> Subject: Re: port-evbmips/52501: erlite quickly fails to allocate memory and
> processes wedge
> Date: Wed, 23 Aug 2017 21:56:19 +0000
>
> Deleting this definition (suggested by nick) allows me to use all
> memory.
>
> this definition make uvm_km_alloc try to allocate only from one freelist
> (0) while I have two.
>
> --- sys/arch/mips/include/vmparam.h 2017-08-24 00:50:16.988961601 +0300
> +++ /home/fly/vmparam.h 2017-08-24 00:50:06.125860018 +0300
> @@ -208,8 +208,6 @@
> #endif
>
> #ifdef _KERNEL
> -#define UVM_KM_VMFREELIST mips_poolpage_vmfreelist
> -extern int mips_poolpage_vmfreelist;
> #ifdef ENABLE_MIPS_16KB_PAGE
> extern vaddr_t mips_vm_maxuser_address;
> #endif
>
>
I guess this helps with being able to use all free memory as well?
If so this change is preferable because it at least tries to allocate
pages (for DMA) from the best range, but falls back if there aren't any.
Nick
--------------9794A98B3DAA9AD1C6CAE85F
Content-Type: text/x-patch;
name="uvm_km.c.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="uvm_km.c.diff"
Index: sys/uvm/uvm_km.c
===================================================================
RCS file: /cvsroot/src/sys/uvm/uvm_km.c,v
retrieving revision 1.143
diff -u -p -r1.143 uvm_km.c
--- sys/uvm/uvm_km.c 1 Jun 2017 02:45:15 -0000 1.143
+++ sys/uvm/uvm_km.c 24 Aug 2017 20:45:18 -0000
@@ -663,7 +663,7 @@ uvm_km_alloc(struct vm_map *map, vsize_t
pg = uvm_pagealloc_strat(NULL, offset, NULL, pgaflags,
#ifdef UVM_KM_VMFREELIST
- UVM_PGA_STRAT_ONLY, UVM_KM_VMFREELIST
+ UVM_PGA_STRAT_FALLBACK, UVM_KM_VMFREELIST
#else
UVM_PGA_STRAT_NORMAL, 0
#endif
--------------9794A98B3DAA9AD1C6CAE85F--
Home |
Main Index |
Thread Index |
Old Index