Date: Mon, 4 Jun 2007 23:54:27 +0000 (UTC) From: Jeff Roberson <jeff@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern kern_kse.c Message-ID: <200706042354.l54NsRav075224@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jeff 2007-06-04 23:54:27 UTC FreeBSD src repository Modified files: sys/kern kern_kse.c Log: Commit 7/14 of sched_lock decomposition. - Use thread_lock() rather than sched_lock for per-thread scheduling sychronization. - Use the per-process spinlock rather than the sched_lock for per-process scheduling synchronization. - Use a global kse spinlock to protect upcall and thread assignment. The per-process spinlock can not be used because this lock must be acquired via mi_switch() where we already hold a thread lock. The kse spinlock is a leaf lock ordered after the process and thread spinlocks. Tested by: kris, current@ Tested on: i386, amd64, ULE, 4BSD, libthr, libkse, PREEMPTION, etc. Discussed with: kris, attilio, kmacy, jhb, julian, bde (small parts each) Revision Changes Path 1.230 +82 -58 src/sys/kern/kern_kse.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200706042354.l54NsRav075224>