Slow performance Win7/64

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Sat Jul 30 21:09:00 GMT 2011


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.

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



More information about the Cygwin mailing list