Skip site navigation (1)Skip section navigation (2)
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>