This is the mail archive of the
mailing list for the Cygwin project.
hyperthreading fix, try #1
- From: Christopher Faylor <cgf-no-personal-reply-please at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Sun, 6 Feb 2005 13:08:24 -0500
- Subject: hyperthreading fix, try #1
- Reply-to: cygwin at cygwin dot com
I have a system set up now so, last week, in between real work fire
drills and the sourceware.org emergency, I tried running a couple of the
scripts that were advertised as causing problems.
Well, whaddaya know? I got a hang and/or "other weird behavior".
After checking backtraces on a couple of processes, it became clear that
the pipe handling was the culprit, which was my suspicion. I thought
it would turn out to be either a problem with the way interrupting pipe
I/O was handled or with a race in the signal handling notification. I
was desperately hoping that it wouldn't be the latter since that is
very hard to debug.
Anyway, I took a look at the pipe handling code for the 457th time and
this time I saw a couple of obvious flaws in my logic. The
synchronization was all off.
Fixing that seems to have fixed my hyperthreading problems. I have run
three invocations of the scripts for four days without a hiccup.
Previously, I had problems within minutes.
I'm not naive enough to think that I've solved all of the hyperthreading
problems but I would like people to try today's snapshot (or any
snapshot newer than today's) and report on whether it solves the problem
or not. If it doesn't, please provide as simple a test case as possible
so that I can duplicate the problem.
While, it is ok to report that your 23 hour build fails mysteriously, I
don't anticipate that I will be able to do much to help those kinds of
cases. That's why a test case is crucial.
I'm not particularly interested in reports about non-hyperthreading
systems unless you can show a regression between this snapshot and
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html