NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lib/54135: sparc userland can not deal with 8k page size



This is proving a tough nut to crack. Perhaps going at it backwards is easier (revert all of it and assign os_page = PAGE after the first test.

christos

> On Apr 25, 2019, at 6:55 AM, Martin Husemann <martin%duskware.de@localhost> wrote:
> 
> The following reply was made to PR lib/54135; it has been noted by GNATS.
> 
> From: Martin Husemann <martin%duskware.de@localhost>
> To: Christos Zoulas <christos%zoulas.com@localhost>
> Cc: gnats-bugs%netbsd.org@localhost
> Subject: Re: lib/54135: sparc userland can not deal with 8k page size
> Date: Thu, 25 Apr 2019 12:53:45 +0200
> 
> On Wed, Apr 24, 2019 at 03:40:37PM -0400, Christos Zoulas wrote:
>> Can you change the last os_page reference passed as argument to PAGE?
> 
> Still the same. I used the patch below.
> 
> Martin
> 
> Index: pages.c
> ===================================================================
> RCS file: /cvsroot/src/external/bsd/jemalloc/dist/src/pages.c,v
> retrieving revision 1.3
> diff -u -p -r1.3 pages.c
> --- pages.c	24 Apr 2019 14:34:21 -0000	1.3
> +++ pages.c	25 Apr 2019 08:10:18 -0000
> @@ -162,7 +162,7 @@ os_pages_unmap(void *addr, size_t size) 
> 
>  static void *
>  pages_map_slow(size_t size, size_t alignment, bool *commit) {
> -	size_t alloc_size = size + alignment - os_page;
> +	size_t alloc_size = size + alignment - PAGE;
>  	/* Beware size_t wrap-around. */
>  	if (alloc_size < size) {
>  		return NULL;
> @@ -203,7 +203,7 @@ pages_map(void *addr, size_t size, size_
>  	 * approach works most of the time.
>  	 */
> 
> -	void *ret = os_pages_map(addr, size, os_page, commit);
> +	void *ret = os_pages_map(addr, size, PAGE, commit);
>  	if (ret == NULL || ret == addr) {
>  		return ret;
>  	}
> 



Home | Main Index | Thread Index | Old Index