LAST_MINUTE revision 1.2.4.3
1# $NetBSD: LAST_MINUTE,v 1.2.4.3 2006/10/16 20:28:41 ghen Exp $ 2 3This file contains important information on the NetBSD 3.0 release that 4did not make it into the main documentation. 5 6[i386] 7 8 Machines configured with more than 2 GB of physical memory may 9 experience hangs due to running out of kernel virtual space, 10 which is needed for kernel datastructures such as file system 11 metadata buffers. Various kernel subsystems (including the 12 file system metadata cache) automatically adjust their memory 13 usage based on the amount of physical memory in the system, 14 but this method over-allocates the available kernel virtual 15 space (1 GB) when the amount of physical memory greatly 16 exceeds the amount of kernel virtual space. 17 18 The only reliable workaround currently known for this problem 19 is to increase the amount of virtual space available to the 20 kernel by adding these lines to the kernel config file: 21 22 options KERNBASE_LOCORE="0x80000000" 23 makeoptions TEXTADDR="0x80100000" 24 25 Be sure you "make clean" in your kernel build directory after 26 adding these lines! 27 28 This will increase the kernel virtual space to 2 GB, but this 29 has the drawback that the application virtual space is 30 decreased from 3 GB to 2 GB (since the 32-bit address space 31 supported by the hardware must be shared between the kernel 32 and application on this architecture). 33 34 If any application that is to run on the system needs more 35 than 2 GB of application virtual space, then this work-around 36 cannot be used. A possible alternative work-around is to 37 reduce the amount of physical memory used for file system 38 buffers by using sysctl to change the value of the tunable 39 "vm.bufmem_hiwater" to a lower value, perhaps 200000000 40 (200 MB). 41 42[all platforms] 43 44 The NetBSD implementation of the POSIX thread library 45 (libpthread) has an option (enabled by setting the environment 46 variable "PTHREAD_CONCURRENCY" to a number greater than 1) 47 which tells the library to run threads of a single process on 48 more than one CPU simultaneously. This feature has various 49 known problems and will often result in the pthread library 50 aborting due to internal assertion failures, and sometimes 51 it will even result in the entire systems crashing. Use of 52 this feature is not recommended for anyone other than those 53 working to fix the problems with it. 54