X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org X-Mail-Handler: MailHop Outbound by DynDNS X-Report-Abuse-To: abuse AT dyndns DOT com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX1/uoMJssejVLQKXx6zdqlMG Date: Wed, 13 Jun 2012 17:40:43 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: Performance problems with emacs-X11 in current cygwin Message-ID: <20120613214043.GA3554@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <4FCB2991 DOT 3010701 AT users DOT sourceforge DOT net> <4FCB5438 DOT 7080903 AT cornell DOT edu> <4FCB9872 DOT 5010506 AT cornell DOT edu> <4FD1F709 DOT 4050107 AT cornell DOT edu> <87k3zhbyyk DOT fsf AT Rainer DOT invalid> <4FD22C39 DOT 6070107 AT cornell DOT edu> <4FD53FA9 DOT 2040105 AT cornell DOT edu> <4FD8DE9C DOT 1090900 AT cornell DOT edu> <4FD90105 DOT 7050701 AT cornell DOT edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4FD90105.7050701@cornell.edu> User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: 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 On Wed, Jun 13, 2012 at 05:07:17PM -0400, Ken Brown wrote: >On 6/13/2012 2:40 PM, Ken Brown wrote: >> On 6/10/2012 8:45 PM, Ken Brown wrote: >>> The bisection shows that the first problematic commit is this one: >>> >>> http://git.gnome.org/browse/glib/commit/?h=glib-2-32&id=7eae486179e2799c369ed9ffcea663bf9161ce79 >>> >>> >>> >>> Author: Ryan Lortie >>> Date: Wed Aug 31 22:07:02 2011 -0400 >>> >>> GMain: simplify logic for g_wakeup_acknowledge() >>> >>> Instead of messing around with context->poll_waiting, just look at the >>> GPollFD to see if the GWakeup needs to be acknowledged. >> >> I think this commit contains a typo: "events" should be "revents". >> (context->wake_up_rec.events is always nonzero at this point in the >> code, so it makes no sense to test that.) As a result, >> g_wakeup_acknowledge() is being called much more often than necessary. I >> think this could easily explain the performance problems that have been >> reported, but I won't have a chance to test this on my (slow) XP system >> for a while, and possibly not until tomorrow. > >I've confirmed that fixing the typo solves the problem on my XP system. > I suspect that this issue is not specific to XP after all and has more >to do with the slowness of the machine, so that the performance problem >is more noticeable. In any case, it's clearly a glib bug. > >I've filed a bug report upstream: > > https://bugzilla.gnome.org/show_bug.cgi?id=678052 What incredible perseverence you've shown in tracking this down. Bravo! cgf P.S. I'm relieved and amazed that this didn't boil down to a Cygwin bug. -- 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