The content of this blog is my personal opinion only. Although I am an employee - currently of Nvidia, in the past of other companies such as Iagination Technologies, MIPS, Intellectual Ventures, Intel, AMD, Motorola, and Gould - I reveal this only so that the reader may account for any possible bias I may have towards my employer's products. The statements I make here in no way represent my employer's position, nor am I authorized to speak on behalf of my employer. In fact, this posting may not even represent my personal opinion, since occasionally I play devil's advocate.

See http://docs.google.com/View?id=dcxddbtr_23cg5thdfj for photo credits.

Monday, June 21, 2010

Andi Kleen on (my) x86 Machine Check Architecture

Today ran across Andi Kleen's paper
"Machine check handling on Linux",
SUSE Labs,
Aug 2004,
along with related stuff as he has worked on Linux machine check handling over the years.

He says:

    With the Pentium Pro Intel defined a new generic x86 machine architecture[intelsys]. This architecture is implemented by modern x86 CPUs from Intel and AMD. ... The advantage of this generic architecture is that a single machine check handler can work on many different CPUs.
This makes me feel proud, but also ashamed:

(1) Proud that I was able to define, in 1991, a Machine Check Architecture that continues to be useful, with the *generic* property that Andi recognizes as one of its main goals.

(2) Ashamed that it should have taken until Andi got around to it in 2004-9 to get proper support into Linux.


TBD: write up the lessons learned from MCA, how I would do it better, as https://semipublic.comp-arch.net/wiki/Machine_Check_Architecture