Subject: New features in NetBSD 2.0
To: None <firstname.lastname@example.org>
From: SODA Noriyuki <email@example.com>
Date: 10/12/2004 23:39:58
[because I'm not subscribing netbsd-docs, please Cc: to me,
if you have any comments to this post]
I have some comments about the following page:
(Chapter,A (B2.,A (BNew features in NetBSD 2.0)
> 2.1.1.,A (BNative threads
> multiple threads within the same process can run concurrently on
> different CPUs
It's worth mentioning that one needs to set $PTHREAD_CONCURRENCY
environment to the number of CPUs to make it actually run on multiple
CPUs on NetBSD 2.0. Especially because there is no existing common
practice about this environment variable on other OS, and this may be
a temporary measure.
(If our implementation is mature enough, the pthread library
must set $PTHREAD_CONCURRENCY to the number of CPUs by default.)
Also, there are some other topics which are worth mentioning.
1. old buffer cache, which is used to cache filesystem metadata
(e.g. directories, i-nodes), are now dynamically allocated.
The old buffer cache now can use up to 15% of phyisical memory
On machines which only have really small memory, it may be
better to limit this upper bound by e.g. "sysctl -w vm.bufcache=5".
2. Many enhancements about user visible library functions.
e.g. native iconv(3), utmpx, SA_SIGINFO, POSIX 1003.1b semaphores, ...
3. Many scalability improvements. e.g. rbtree vmmap, splay tree
pvtree on i386 pmap, O(C) data insertion into socket buffers, etc...