[170] in Pthreads mailing list archive
Re: test_preemption_float
daemon@ATHENA.MIT.EDU (Christopher Provenzano)
Thu Oct 26 15:29:51 1995
To: bb30090@bingsuns.cc.binghamton.edu
Cc: pthreads@MIT.EDU
In-Reply-To: Your message of "Tue, 24 Oct 1995 04:03:01 EDT."
<199510240803.EAA07608@bingsun2-gw>
Date: Thu, 26 Oct 1995 15:11:37 EDT
From: Christopher Provenzano <proven@MIT.EDU>
> Hi there!
>
> I first wanted to say thanks a lot for all the work you have done on
> the pthreads project.
>
> Second, I had a queston about the test_preemption_float test
> program. I ran it on a solaris 2.4 sparc multiprocessor machine and
> it returned INDETERMINATE - first, I wanted to ask what that means,
> exactly. Second, I was looking at the code and the line:
>
> if ((*x == float_passed) && (*y == float_passed)) {
> printf("test_preemption_float INDETERMINATE\n");
> return(0);
> }
>
> This puzzles me, because if both pass, then why say it is
> INDETERMINATE?
There are two parts of the test. The first part tries to fail by
creating threads that aren't supposed to save the floating point
(A hack for those that want even faster context switches.) If it
can't fail it can't prove that it was just luck or good compiler
register allocation that made it succeed instead of the fact that
it did save the floating point state anyway. That is why if the
first part doesn't fail then the test is indeterminate.
>
>
> -Seth