kernel threads and mplock
    Hiten Pandya 
    hmp at backplane.com
       
    Mon Jul 12 06:03:22 PDT 2004
    
    
  
Hidetoshi Shimokawa wrote:
Hi,
I have a question about kernel threads synchronization on DFB.
A comment in lwkt_thread.c says:
 * NOTE!  By default new threads are created with the MP lock held.  A
 * thread which does not require the MP lock should release it by calling
 * rel_mplock() at the start of the new thread.
 */
Where can I find an example for thread running without MP lock?
	The LWKT scheduler and the systimer code runs without the MP
	lock.
	If you want an example of how and where it is released, then
	checkout, i386/i386/vm/vm_machdep.c, kern/init_main.c, also
	kern/kern_clock.c, kern/kern_switch.c, kern/kern_synch.c and
	last but not the least, i386/i386/trap.c.
I heard that TCP protocol stack has multiple kernel threads.
Do they actually run concurrently on multiple cpu now?
I can't find where they release MP lock.
	There are still a few bits which need to be finished before the
	network is actually free of the MP lock.
It seems that most of the kernel threads are running with MP lock
now. Right?
	Right.  This will change, though.
/\ Hidetoshi Shimokawa
\/  simokawa at xxxxxxxxxxxxxxxxxxx
PGP public key: http://www.sat.t.u-tokyo.ac.jp/~simokawa/pgp.html
		-Hiten
		hmp at xxxxxxxxxxxxx
    
    
More information about the Kernel
mailing list