shithub: riscv

Download patch

ref: ccfb6168c802e563944b548869f5884c5e87706e
parent: 6a55790197d8eed5b7e020a7b964ae260d0d205b
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Mon Feb 3 15:04:43 EST 2014

kernel: dont double ptemap size in newseg()

this doubling affects all segment types, not just bss.
(tho text/data are usually small...)

and theres no telling if the segment will actually
grow in the future justifying the reduction of memmove
overhead in ibrk().

some ape programs are approaching the 16mb ssegmap size
so that code might trigger.

removing the smarts...

--- a/sys/src/9/port/segment.c
+++ b/sys/src/9/port/segment.c
@@ -66,7 +66,6 @@
 
 	mapsize = ROUND(size, PTEPERTAB)/PTEPERTAB;
 	if(mapsize > nelem(s->ssegmap)){
-		mapsize *= 2;
 		if(mapsize > (SEGMAPSIZE*PTEPERTAB))
 			mapsize = (SEGMAPSIZE*PTEPERTAB);
 		s->map = smalloc(mapsize*sizeof(Pte*));
--