Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 08 Jul 2009 09:26:04 -0700
From:      Marcel Moolenaar <xcllnt@mac.com>
To:        Anton Shterenlikht <mexas@bristol.ac.uk>
Cc:        Rink Springer <rink@freebsd.org>, freebsd-current@freebsd.org, freebsd-ia64@freebsd.org
Subject:   Re: buildworld panic on ia64
Message-ID:  <DBFB3A11-7E61-4C0D-A517-EC54A812610B@mac.com>
In-Reply-To: <20090708114925.GA19854@mech-cluster238.men.bris.ac.uk>
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> <93B562A8-9FE7-44D5-91E4-C9AB1A25BD2A@mac.com> <20090708114925.GA19854@mech-cluster238.men.bris.ac.uk>

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

On Jul 8, 2009, at 4:49 AM, Anton Shterenlikht wrote:

> On Tue, Jul 07, 2009 at 05:29:06PM -0700, Marcel Moolenaar wrote:
>>
>> 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.
>
> Marcel, sorry, I probably misunderstood "compiler options"
> in the previous reply. Did you mean -j option in
> make -j10 buildworld?

-j is a make option. Modulo the FP race you're perfectly fine
with any -j value that matches the number of CPUs in your box
(with 4xNCPUS a rule-of-thumb maximum probably).

If the compiler isn't FP intensive, then even -j128 on a dual-
CPU box is not causing you problems (it's pointless though :-)

FYI,

-- 
Marcel Moolenaar
xcllnt@mac.com






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DBFB3A11-7E61-4C0D-A517-EC54A812610B>