Date: Mon, 11 Oct 2004 22:25:57 +0800 From: David Xu <davidxu@freebsd.org> To: Sam Lawrance <boris@brooknet.com.au> Cc: Robert Watson <rwatson@freebsd.org> Subject: Re: Noticable Delays Since Beta 3 (possible cause) Message-ID: <416A97F5.6010608@freebsd.org> In-Reply-To: <1097500052.2797.10.camel@dirk.no.domain> References: <Pine.NEB.3.96L.1041011045403.31040K-100000@fledge.watson.org> <1097500052.2797.10.camel@dirk.no.domain>
next in thread | previous in thread | raw e-mail | index | archive | help
Sam Lawrance wrote: >Folks, > >On Mon, 2004-10-11 at 04:55 -0400, Robert Watson wrote: > > >>On Sat, 9 Oct 2004, Sam Lawrance wrote: >> >> >> >>>I'm sorry, that patch was missing paths.. this one: >>> >>>http://sam.stral.net/freebsd/wakeupdelay-patch >>> >>>is much nicer. >>> >>> >>Are there plans to get this patch merged for 5.3? I was chatting with >>Brian yesterday about the accept locking issue in sofree() and he was >>indicating that he was seeing symptoms very much like the ones described >>in this thread (long wakeup times for keypresses, etc). >> >> > >I just noticed that the messages David sent to me and the list have yet >to make it through to the list. One was a patch which puts the wakeup in >the critical_exit where he suggested (but I didn't understand :). Here >it is: > > > Yes, I made the patch, the theory is holding spinlock increases critical count, releasing a spinlock decreases it, when critical count is about to be decreased to zero, I know curthread has no spinlock in hand, so it is not possible to have sleepq lock and sched lock LOR problem if I do a wakupe(&proc0) at the time. I believe that it is a very short time that a thread is in critical region, consider the time we have to swap in a thread by doing disk I/O which is slow, such delay of wakeup proc0 in spinlock can be ignored. I am going to sleep, and must leave now, if anyone has time to commit it, free to do. David Xu
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?416A97F5.6010608>