This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Slow performance Win7/64


On Sat, Jul 30, 2011 at 05:09:08PM -0400, Christopher Faylor wrote:
>On Fri, Jul 29, 2011 at 09:06:45AM -0400, Christopher Faylor wrote:
>>On Fri, Jul 29, 2011 at 12:52:47PM +0000, Heiko Elger wrote:
>>>Hello,
>>>
>>>Corinna Vinschen writes:
>>>> 
>>>> The slowdown of the code was the result of a patch which was supposed
>>>> to fix a potential race condition.  Jojelino's patch looks nice, but
>>>> it might reintroduce a new race.  Handle with care.
>>>Oops - what king of race condition do you mean.
>>>
>>>OK - that's a new information for me.
>>>So the current slow implementation is a workaround for another race condition.
>>
>>The signal startup has been very carefully crafted.  Starting wait_sig
>>asynchronously could create inability to send signals.
>>
>>I can't check this right now.  I should be back near my Windows system on the
>>weekend.
>
>I've checked in a change which uses QueueUserAPC to create threads like
>the signal thread.  As everyone has noted this seems to have a salutory
>effect on the OP's test case.
>
>I don't entirely understand why the code which already existed in Cygwin
>to deal with the "slow performance on win7/64" didn't fix the problem but
>using QueueUserAPC seems to solve the problem so I guess won't lose too
>much sleep over this.
>
>Thanks jojelino for the idea.  Much appreciated.

Oops.  Forgot to mention that these changes are available in the most
recent snapshot at:  http://cygwin.com/snapshots/ .

cgf

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]