This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Cygwin slow on x64 systems
- From: Magnus Holmgren <magnushol at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Tue, 31 Aug 2010 20:34:45 +0000 (UTC)
- Subject: Re: Cygwin slow on x64 systems
- References: <4C7B9327.9030204@graphtech.co.il>
Sagi Ben-Akiva <sagi <at> graphtech.co.il> writes:
> 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.
<...>
> Any help will be appreciated.
I did some testing on my 64-bit Vista system, and it appears that
CreateThread is the main cause. I added a few traces, and got this:
$ strace --mask=thread,sigp date
149 149 [main] date 2944 cygthread::create: name ...
159 308 [main] date 2944 cygthread::create: created name ...
6241 6549 [main] date 2944 wait_for_sigthread: wait_sig_inited 0xB0
23606 30155 [sig] date 2944 cygthread::stub: cygthread::stub enter
111 30266 [sig] date 2944 cygthread::stub: cygthread::stub callfunc
65 30331 [sig] date 2944 cygthread::callfunc: wait for 'h'
59 30390 [sig] date 2944 cygthread::callfunc: func
65 30455 [sig] date 2944 init_sig_pipe: enter
5343 35798 [sig] date 2944 init_sig_pipe: create pipe
134 35932 [sig] date 2944 init_sig_pipe: exit
72 36004 [sig] date 2944 wait_sig: entering ReadFile loop ...
4 36008 [main] date 2944 wait_for_sigthread: process/signal ...
The second trace line is printed after CreateThread has returned, and the
fourth line is the first thing executed in the new thread (don't know if it
is a good idea to trace that early in the thread, but...).
Magnus
--
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