On Wed, Jan 17, 2018 at 5:47 PM, Dave Young <dyoung@xxxxxxxxxx> wrote: > > It does not work with just once wbinvd(), and it only works with > removing the wbinvd() for me. Tom's new post works for me as well > since my cpu is an Intel i5-4200U. Intriguing. It's not like the wbinvd really should be that much of a deal. I think Tom's patch is fine and should be applied, but it does worry me a bit that even a single wbinvd makes that much of a difference for you. There is very little logical reason I can think of that a wbinvd should make any difference what-so-ever on an i5-4200U. I wonder if you have some system issues, and wbinvd just happens to trigger them. But I think we do wbinvd before a suspend-to-RAM too (it's "ACPI_FLUSH_CPU_CACHE()" in the ACPI code). And the dmr code dioes "wbinvd_on_all_cpus()" which does a cross-call etc. Would you mind experimenting a bit with that wbinvd? In particular, what happens if you enable it (so it's not hidden by the SME check), but you move it up to before interrupts are disabled? I'm wondering if there is some issue with MCE generation and wbinvd and whatever, and doing it when the CPU is down and interrupts are disabled causes some system issue.. Does anybody have any other ideas? Linus _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec