This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Cygwin slow on x64 systems
- From: Christopher Faylor <cgf-use-the-mailinglist-please at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 1 Sep 2010 15:10:32 -0400
- Subject: Re: Cygwin slow on x64 systems
- References: <4C7B9327.9030204@graphtech.co.il>
- Reply-to: cygwin at cygwin dot com
On Mon, Aug 30, 2010 at 02:16:55PM +0300, Sagi Ben-Akiva wrote:
>For the last couple of weeks I'm trying to identify the cause for cygwin
>slowdown on x64 machines which was reported by David Morgan about 6
>months ago.
>
>Using cvsps I was able to generate a patchset which contains all the
>changes between those 2 revisions.
>I then applied the changes one by one and built cygwin1.dll for each
>change, then I ran my test script again for each cygwin1.dll version and
>I found that the change to winsup/cygwin/dcrt0.cc from '2006/03/12
>23:57:03' introduce this issue.
>
>The log for this change is :
>
>* dcrt0.cc (dll_crt0_0): Call sigproc_init during init startup.
>(_dll_crt0): Don't worry about sync_startup. Just wait for sigthread here.
>
>This change includes 2 different sub-changes :
>1. Moving the call to sigproc_init from dll_crt0_1 function to
>dll_crt0_0 - which doesn't affect performance.
>
>2. a. Moving the call to wait_for_sigthread from dll_crt0_1 to _dll_crt0
>which calls dll_crt0_1.
> b. Deleting the call to WaitForSingleObject,
> i.e. : "Don't worry about sync_startup"
>
>I can confirm that the 2nd sub-change is the cause for the slowdown.
>
>Any help will be appreciated.
I rewrote the signal initialization stuff today and have generated a
new snapshot. Please let me know if this works better for you. I haven't
actually tried to run a fork per sec. test yet so there may be other
lurking problems.
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