Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 07 Jul 2009 17:29:06 -0700
From:      Marcel Moolenaar <xcllnt@mac.com>
To:        Rink Springer <rink@FreeBSD.org>
Cc:        freebsd-current@freebsd.org, Anton Shterenlikht <mexas@bristol.ac.uk>, freebsd-ia64@freebsd.org
Subject:   Re: buildworld panic on ia64
Message-ID:  <93B562A8-9FE7-44D5-91E4-C9AB1A25BD2A@mac.com>
In-Reply-To: <20090707133611.GA66072@rink.nu>
References:  <20090707094808.GA93317@mech-cluster238.men.bris.ac.uk> <20090707095058.GC7827@rink.nu> <20090707124405.GA46091@mech-cluster238.men.bris.ac.uk> <20090707133611.GA66072@rink.nu>

next in thread | previous in thread | raw e-mail | index | archive | help

On Jul 7, 2009, at 6:36 AM, Rink Springer wrote:
>> I tried to reproduce the error, got this on the way:
>>
>> 	# XXX: bogusly disabled high FP regs
>
> I get this message quite often as well; I intend to figure out what's
> going on. Marcel, if you have any idea, please let me know.

It's a race condition. The high FP registers are lazily
context-switched and this error is emitted when a thread
wants to use the high FP registers when they are disabled
and the CPU onto which the thread is running has the high
FP registers corresponding to that thread in registers.
In that scenario the high FP registers should not even be
disabled.

In the above case the kernel simply enables the high FP
registers and continues the thread. For the most part the
condition is harmless, but I've been looking at a panic
that's the result of inconsistency in the high FP state,
so the race is potentially fatal.

BTW: I never got the error when doing a buildworld. I
think Anton's non-standard compiler options make GCC much
more FP intensive and thus prone to causing the race.

FYI,

-- 
Marcel Moolenaar
xcllnt@mac.com






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?93B562A8-9FE7-44D5-91E4-C9AB1A25BD2A>