Date: Tue, 30 Jul 2002 16:12:55 +0800 From: David Xu <davidx@viasoft.com.cn> To: Seigo Tanimura <tanimura@FreeBSD.ORG>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/kern kern_condvar.c kern_switch.c kern_synch.c src/sys/sys proc.h src/sys/vm vm_glue.c Message-ID: <200207301612.55467.davidx@viasoft.com.cn> In-Reply-To: <200207300654.g6U6s5tY099740@freefall.freebsd.org> References: <200207300654.g6U6s5tY099740@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
could you look carefully timeout handing function? for example, cv_timedwait_end(), it has same problem with swapping. David Xu On Tuesday 30 July 2002 14:54, Seigo Tanimura wrote: > tanimura 2002/07/29 23:54:05 PDT > > Modified files: > sys/kern kern_condvar.c kern_switch.c kern_synch.c > sys/sys proc.h > sys/vm vm_glue.c > Log: > - Optimize wakeup() and its friends; if a thread waken up is being > swapped in, we do not have to ask for the scheduler thread to do > that. > > - Assert that a process is not swapped out in runq functions and > swapout(). > > - Introduce thread_safetoswapout() for readability. > > - In swapout_procs(), perform a test that may block (check of a > thread working on its vm map) first. This lets us call swapout() > with the sched_lock held, providing a better atomicity. > > Revision Changes Path > 1.27 +4 -2 src/sys/kern/kern_condvar.c > 1.35 +6 -0 src/sys/kern/kern_switch.c > 1.191 +12 -6 src/sys/kern/kern_synch.c > 1.233 +5 -0 src/sys/sys/proc.h > 1.150 +65 -64 src/sys/vm/vm_glue.c > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe cvs-all" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207301612.55467.davidx>