noackjr at alumni.rice.edu
Sun Jun 13 18:08:41 GMT 2004
On 06/11/04 03:05, Magnus Carlebjörk wrote:
> Hi. I have been using Luigi's polling code extensively i several multiprocessor
> systems for over a year now, and it works flawlessly and efficiently. Nicely
> done Luigi!
> In the beginning of /usr/src/sys/kern/kern_poll.c there are a few lines thas
> says that polling is incompatible with SMP. This is not true, polling IS
> compatible with SMP, it just does not utilize all of it's features.
I just tested this on my SMP all-in-one home server (Web, Mail, NFS,
Samba, Squid, etc.). It's been up for over 24 hours with no apparent
issues. The machine is used pretty heavily, with NFS mounted home
directories and CVS mirror (see below) -- a CVS update of the src tree
over NFS has done a good job of breaking fragile setups in the past.
Everything seemed OK. That said, peak performance (as tested by iperf)
took a nosedive: with 32-bit em adapters (gige), tcp bandwidth dropped
from over 360Mbps to around 200 Mbps. If anyone has any suggestions for
more in-depth testing, I'd be willing to try them. If I have the time I
may also try the latest netperf patch and see how that affects things.
> I'm getting tired of having the builkernel break everytime because of this
> define in kern_poll.c. Would it be possible to change that so that is just puts
> a note in the syslog instead?
Create an update script that automatically applies a patch after the
CVSup. Alternatively, use CVSup to mirror the repository and then check
out the src directory (with regular CVS from the local mirror). That
way you can make local changes and still keep updated. I was introduced
to this latter method recently (on this list) and it works quite well.
See the CVSup page in the Handbook and
More information about the freebsd-current