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



The following reply was made to PR lib/54135; it has been noted by GNATS.

From: Christos Zoulas <christos%zoulas.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: lib-bug-people%netbsd.org@localhost,
 gnats-admin%netbsd.org@localhost,
 netbsd-bugs%netbsd.org@localhost,
 "martin%netbsd.org@localhost" <martin%NetBSD.org@localhost>
Subject: Re: lib/54135: sparc userland can not deal with 8k page size
Date: Thu, 25 Apr 2019 07:39:41 -0400

 This is proving a tough nut to crack. Perhaps going at it backwards is =
 easier (revert all of it and assign os_page =3D PAGE after the first =
 test.
 
 christos
 
 > On Apr 25, 2019, at 6:55 AM, Martin Husemann <martin%duskware.de@localhost> =
 wrote:
 >=20
 > The following reply was made to PR lib/54135; it has been noted by =
 GNATS.
 >=20
 > 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
 >=20
 > 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?
 >=20
 > Still the same. I used the patch below.
 >=20
 > Martin
 >=20
 > Index: pages.c
 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 > 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)=20
 >=20
 >  static void *
 >  pages_map_slow(size_t size, size_t alignment, bool *commit) {
 > -	size_t alloc_size =3D size + alignment - os_page;
 > +	size_t alloc_size =3D 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.
 >  	 */
 >=20
 > -	void *ret =3D os_pages_map(addr, size, os_page, commit);
 > +	void *ret =3D os_pages_map(addr, size, PAGE, commit);
 >  	if (ret =3D=3D NULL || ret =3D=3D addr) {
 >  		return ret;
 >  	}
 >=20
 


Home | Main Index | Thread Index | Old Index