cvs commit: src/sys/dev/hatm if_hatm.c if_hatmvar.h [MPSAFE network]

Harti Brandt brandt at fokus.fraunhofer.de
Thu Nov 6 01:52:04 PST 2003


On Wed, 5 Nov 2003, Sam Leffler wrote:

SL>On Wednesday 05 November 2003 03:47 am, Hartmut Brandt wrote:
SL>> harti       2003/11/05 03:47:32 PST
SL>>
SL>>   FreeBSD src repository
SL>>
SL>>   Modified files:
SL>>     sys/dev/hatm         if_hatm.c if_hatmvar.h
SL>>   Log:
SL>>   Make the driver conditionally MPSAFE. MPSAFEty defaults to not-mpsafe
SL>>   but can be enabled by setting hw.atm.hatmN.mpsafe in the kernel
SL>>   environment to a non-zero value before loading the driver. When
SL>>   the problems with network MPSAFEty have been sorted out this will
SL>>   be removed and the driver will default to MPSAFE.
SL>
SL>I'm about to commit mods to make debug_mpsafenet globally visible so other
SL>parts of the system (to be committed) can use it too.  Perhaps your stuff
SL>should reference it also?

The reason I did it this way is that I want to be able to set it
per-interface. As soon as the IP stack works with MPSAFE drivers I'm going
to remove this. I have a simulation system that has 3 ATM cards - one for
connection to the outside world runs IP, the other two interface only to
netgraph. I want to keep the first card non-mpsafe (obviously), but the
other two mpsafe. This works just great. After fixing a problem in ng_base
now the entire simulation path ATM-netgraph-ATM runs without giant on my
dual-CPU system. This setup allows me to work on fixing locking issues
while keeping the machine on-line.

Currently I set debug_mpsafenet to true, because the driver cannot
override it. For my use that's no problem, because I have not other
network driver that is MPSAFE in the system.

harti
-- 
harti brandt,
http://www.fokus.fraunhofer.de/research/cc/cats/employees/hartmut.brandt/private
brandt at fokus.fraunhofer.de, harti at freebsd.org


More information about the cvs-src mailing list