cvs commit: src/sys/conf files src/sys/kern lwkt_ipiq.c lwkt_thread.c src/sys/sys globaldata.h thread.h
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Feb 14 18:15:36 PST 2004
dillon 2004/02/14 18:14:42 PST
DragonFly src repository
Modified files:
sys/conf files
sys/kern lwkt_thread.c
sys/sys globaldata.h thread.h
Added files:
sys/kern lwkt_ipiq.c
Log:
Split the IPIQ messaging out of lwkt_thread.c and move it to its own file,
lwkt_ipiq.c.
Add a MI synchronous cpu rendezvous API lwkt_cpusync_*(). This API allows the
kernel to synchronize an operation across any number of cpus. Multiple cpus
can initiate synchronization operations simultaniously without creating a
deadlock. The API utilizes the IPI messaging core and guarentees that
other synchronization and IPI messaging operations will continue to work
during any given synchronization op. The API is a spin-blocking API, meaning
that it will not switch threads and can be used by mainline code, interrupts,
and other sensitive code.
This API is intended to replace smp_rendezvous(), Xcpustop, and other
hardwired IPI ops. It will also be used to fix our TLB shootdown code.
As of this commit the API has not yet been connected to anything and has
been tested only a little.
Revision Changes Path
1.49 +1 -0 src/sys/conf/files
1.54 +0 -224 src/sys/kern/lwkt_thread.c
1.25 +2 -1 src/sys/sys/globaldata.h
1.44 +23 -2 src/sys/sys/thread.h
http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.diff?r1=1.48&r2=1.49&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/lwkt_thread.c.diff?r1=1.53&r2=1.54&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/sys/globaldata.h.diff?r1=1.24&r2=1.25&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/sys/thread.h.diff?r1=1.43&r2=1.44&f=h
More information about the Commits
mailing list