Subject: MAXDSIZ cannot handle values larger than 2^31-1
To: NetBSD amd64 <port-amd64@netbsd.org>
From: Nicolas Joly <njoly@pasteur.fr>
List: port-amd64
Date: 11/18/2003 14:35:35
Hi,
I wanted to increase the maximum size limit of processes for the data
segment, on our amd64 machine, up to 2.5GB; but it seems that it
cannot use currently more than 2^31-1 bytes.
I made a custom kernel for that, GENERIC.MP with the following line :
options MAXDSIZ=2684354560
While cross-compiling the kernel from i386, i noticed that the MAXDSIZ
used value was incorrect:
njoly@hal [NetBSD/src]> ./build.sh -Uu -m amd64 kernel=CALIMERO
[...]
# compile param.o
/local/src/NetBSD/tool/amd64/bin/x86_64--netbsd-gcc -mcmodel=kernel
-mno-red-zone -ffreestanding -O2 -Werror -Wall -Wno-main
-Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes
-Wstrict-prototypes -Wno-sign-compare -Damd64 -Dx86_64
-I. -I/local/src/NetBSD/src/sys/arch -I/local/src/NetBSD/src/sys
-nostdinc -DLKM -DMAXDSIZ=0x7fffffff -DMAXUSERS=32 -D_KERNEL
-D_KERNEL_OPT -c param.c
[...]
Confirmed later with simple limits queries (under zsh) :
njoly@calimero [~]> limit datasize
datasize 128MB
njoly@calimero [~]> unlimit
njoly@calimero [~]> limit datasize
datasize 2047MB
--
Nicolas Joly
Biological Software and Databanks.
Institut Pasteur, Paris.