Re: commit 3c2e7f7de3 (KVM use NPT page attributes) causes boot failures

Xiao Guangrong
2015-09-01T13:06:09Z

On 09/01/2015 06:04 PM, Markus Trippelsdorf wrote:
> On 2015.09.01 at 10:56 +0200, Ingo Molnar wrote:
>>
>> * Markus Trippelsdorf <markus@trippelsdorf.de> wrote:
>>> As I wrote in my other reply. The boot failure is nondeterministic (boot
>>> succeeds roughly every sixth time). So the bisection and the patch is
>>> just bogus (,but the boot failure is real).
>>>
>>> Sorry.
>>
>> No problem. Please let us know if any of these commits does turn out to be the
>> culprit. (Which is always a possibility.)
>
> I'm pretty sure commit 3c2e7f7de3 is the culprit.
>
> commit 3c2e7f7de3240216042b61073803b61b9b3cfb22
> Author: Paolo Bonzini <pbonzini@redhat.com>
> Date: Tue Jul 7 14:32:17 2015 +0200
>
> KVM: SVM: use NPT page attributes
>
> I've booted ten times in a row successfully with the following patch:
>
> diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
> index 74d825716f4f..3190173a575f 100644
> --- a/arch/x86/kvm/svm.c
> +++ b/arch/x86/kvm/svm.c
> @@ -989,7 +989,7 @@ static __init int svm_hardware_setup(void)
> } else
> kvm_disable_tdp();
>
> - build_mtrr2protval();
> +// build_mtrr2protval();
> return 0;
>
> err:
>
> Paolo, your commit causes nondeterministic boot failure on my machine.
> It sometimes crashes early with the following backtrace:
>

Did it trigger the BUG()/BUG_ON() in mtrr2protval()/fallback_mtrr_type()?
If yes, could you please print the actual value out?

BTW, you may change BUG() to WARN() to get the print info more easier.