diff options
author | Andy Lutomirski <luto@amacapital.net> | 2014-10-15 10:12:07 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-11-14 09:00:10 -0800 |
commit | 09eea6d2a92e092897d6767988e21186d2ed781e (patch) | |
tree | 184237428dcc369eaf23ba2a9b8b961a8415a927 /mm | |
parent | eeae838b835b6ffb7ac7f6bcbc800488a61f873b (diff) | |
download | lwn-09eea6d2a92e092897d6767988e21186d2ed781e.tar.gz lwn-09eea6d2a92e092897d6767988e21186d2ed781e.zip |
x86, apic: Handle a bad TSC more gracefully
commit b47dcbdc5161d3d5756f430191e2840d9b855492 upstream.
If the TSC is unusable or disabled, then this patch fixes:
- Confusion while trying to clear old APIC interrupts.
- Division by zero and incorrect programming of the TSC deadline
timer.
This fixes boot if the CPU has a TSC deadline timer but a missing or
broken TSC. The failure to boot can be observed with qemu using
-cpu qemu64,-tsc,+tsc-deadline
This also happens to me in nested KVM for unknown reasons.
With this patch, I can boot cleanly (although without a TSC).
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Cc: Bandan Das <bsd@redhat.com>
Link: http://lkml.kernel.org/r/e2fa274e498c33988efac0ba8b7e3120f7f92d78.1413393027.git.luto@amacapital.net
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions