Date: Wed, 08 Jul 2009 09:26:04 -0700 From: Marcel Moolenaar <xcllnt@mac.com> To: Anton Shterenlikht <mexas@bristol.ac.uk> Cc: 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>