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 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


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