Project

General

Profile

Bug #1759

Bug #1450: Illumos should be buildable with GCC4

sun4u floating-point scrubber should be removed

Added by Rich Lowe almost 8 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
cmd - userland programs
Start date:
2011-11-10
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

The floating point scrubber (fpsd, and associated FMA integration) is used on sun4u systems (only) to periodically run a variety of floating point operations and check the results. The meat of these operations are based (it seems) on linpack, and are highly dependent on both the Sun compiler (libsunmath, libsunperf, libfsu), and the version of that compiler (there are headers for Studio's 8 through 12u1, and diff suggests material differences in each. They look like test vectors, I have not investigated further).

Some cautious investigation, which may have flaws, suggests that this code exists as means to prevent a set of known failures with a sun4u floating point unit being seen in the field (such that we would take the FPU out of service before user calculations were botched), and that that is why it was never moved beyond sun4u either to x86 or to the sun4v machines with a full set of floating point units.

Without the linpack related code, only very simple checks of basic operators would be performed, which would (we believe) significantly limit the efficacy of the scrub.

At present, this code forces itself to be built with Sun Studio in the makefile (and does rather nasty tricks to discover which version of studio, and thus which set of test vectors to include).

Given the limited utility on a limited platform and massive compiler dependence, I propose to remove it.

History

#1

Updated by Rich Lowe almost 8 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 50

I've made these changes on the GCC4 branch, but haven't merged them back yet.

#2

Updated by Rich Lowe over 7 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 50 to 100

Resolved in r13615 commit:824064bb7f53

Also available in: Atom PDF