Use 64bit x86 machine check code for 32bit too
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest9 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/9 | MCE: Make 64bit mce code 32bit cleanarch/ include/ | +18 | 0 replies | |
| 2/9 | MCE: Implement the PPro bank 0 quirk in the 64bit machine check codearch/ | +15 | 0 replies | |
| 3/9 | MCE: Port K7 bank 0 quirk to 64bit mce codearch/ | +6 | 0 replies | |
| 4/9 | MCE: Call 64bit machine check through a call vectorarch/ arch/ include/ | +12 | 0 replies | |
| 5/9 | MCE: Rename mce_dont_init on 64bit to mce_disabledarch/ include/ | +4 | 0 replies | |
| 6/9 | MCE: Provide exit_idle dummy functions for 32bit.include/ | +5 | 0 replies | |
| 7/9 | MCE: Remove machine check handler idle notify on 64bitarch/ arch/ include/ | +3 | 0 replies | |
| 8/9 | MCE: Remove oops_begin() use in 64bit machine checkarch/ | +2 | 0 replies | |
| 9/9 | MCE: Use 64bit machine check code on 32bit v2arch/ arch/ arch/ +4 more | +64 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH] [0/9] Use 64bit x86 machine check code for 32bit too
This patchkit uses the 64bit machine check code which is better in many ways on 32bit x86 too. This is also the basis for some future machine check work.
The 64bit machine check code is in many ways much better than the 32bit machine check code: it is more specification compliant, is cleaner, only has a single code base versus one per CPU, has better infrastructure for recovery, has a cleaner way to communicate with user space etc. etc.
It requires testing especially on older systems (on newer ones it should be already tested well in 64bit systems).
The patchkit contains several parts:
- It ports over a few needed quirks (for older Intel and older
AMD CPUs) to the 64bit kernel.
- It changes the 64bit code to be 32bit clean in its data structures (mostly just unsigned long -> u64 where needed)
- It drops some unused functionality that cannot be easily implemented on 32bit and didn't seem worth ifdefing
Tested by doing some software level error injection on a few different machines
I request this code is merged into the appropiate tree for linux-next for wider testing. It's not .27 ready, but hopefully .28, but it requires wider exposure now.
Patches are also available for pulling from
git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6.git mce
-Andi