X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=0.2 required=5.0 tests=AWL,BAYES_20,DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED,SPF_HELO_PASS,T_RP_MATCHES_RCVD,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: Magnus Holmgren Subject: Re: Cygwin slow on x64 systems Date: Tue, 31 Aug 2010 20:34:45 +0000 (UTC) Lines: 33 Message-ID: References: <4C7B9327 DOT 9030204 AT graphtech DOT co DOT il> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit User-Agent: Loom/3.14 (http://gmane.org/) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Sagi Ben-Akiva 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