This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

hyperthreading fix, try #1

I have a system set up now so, last week, in between real work fire
drills and the 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
previous releases.


Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]