qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Matwey V. Kornilov" <matwey.kornilov@gmail.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [Bug 1661386] Re: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed
Date: Sun, 23 Jul 2017 10:24:36 -0000	[thread overview]
Message-ID: <CAJs94EYaHCXy7w+-8sEXmqR7CMrjv2me-HW5fpgYigdnXpMXgQ@mail.gmail.com> (raw)
In-Reply-To: CAJs94EZcKKb6i1ApTRVXnHvOiFBGNk-j6j5vcEK2TX0YQzDXvg@mail.gmail.com

2017-07-23 12:54 GMT+03:00 Matwey V. Kornilov <matwey.kornilov@gmail.com>:
> 2017-02-08 11:49 GMT+03:00 Paolo Bonzini <bonzini@gnu.org>:
>>> Does qemu follow recommendations from section 4.3?
>>
>> All that QEMU does is initialize MSR values and QEMU is talking to KVM,
>> not to the processor; KVM in turn talks to the host kernel's perf
>> subsystem.
>>
>> It's the host kernel's perf subsystem that needs to follow Intel's
>> recommendation.  In particular, QEMU is setting CPUID to the values
>> retrieved by
>>
>>     perf_get_x86_pmu_capability(&cap);
>
> I can not find this function mentioned in qemu master sources.
>

Ok, I found this place in kvm kernel module. But it doesn't do what
you expect it to do. It just reassembles 0xA EAX from previously
parsed data.
IA32_MISC_ENABLE is not accessed anywhere here.

> The only thing I see is that has_msr_architectural_pmu is set to be
> true in kvm_arch_init_vcpu() if 0xA EAX has non-zero version. This is
> not enough according to the Intel specs.
>
>>
>> so perhaps it's perf_get_x86_pmu_capability that misreads the
>> performance monitoring capabilities provided by ESX.  Please attach
>> dmesg logs from starting the host with loglevel=9, as well as "x86info
>> -a" output from the host, to see if perf misses some problematic
>> CPUID/MSR combination.
>>
>> --
>> You received this bug notification because you are subscribed to the bug
>> report.
>> https://bugs.launchpad.net/bugs/1661386
>>
>> Title:
>>   Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed
>>
>> Status in QEMU:
>>   New
>>
>> Bug description:
>>   Hello,
>>
>>
>>   I see the following when try to run qemu from master as the following:
>>
>>   # ./x86_64-softmmu/qemu-system-x86_64 --version
>>   QEMU emulator version 2.8.50 (v2.8.0-1006-g4e9f524)
>>   Copyright (c) 2003-2016 Fabrice Bellard and the QEMU Project developers
>>   # ./x86_64-softmmu/qemu-system-x86_64 -machine accel=kvm -nodefaults
>>   -no-reboot -nographic -cpu host -vga none  -kernel .build.kernel.kvm
>>   -initrd .build.initrd.kvm -append 'panic=1 no-kvmclock console=ttyS0
>>   loglevel=7' -m 1024 -serial stdio
>>   qemu-system-x86_64: /home/matwey/lab/qemu/target/i386/kvm.c:1849:
>>   kvm_put_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.
>>
>>   First broken commit has been bisected:
>>
>>   commit 48e1a45c3166d659f781171a47dabf4a187ed7a5
>>   Author: Paolo Bonzini <pbonzini@redhat.com>
>>   Date:   Wed Mar 30 22:55:29 2016 +0200
>>
>>       target-i386: assert that KVM_GET/SET_MSRS can set all requested MSRs
>>
>>       This would have caught the bug in the previous patch.
>>
>>       Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>>
>>   My cpuinfo is the following:
>>
>>   processor       : 0
>>   vendor_id       : GenuineIntel
>>   cpu family      : 6
>>   model           : 44
>>   model name      : Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz
>>   stepping        : 2
>>   microcode       : 0x14
>>   cpu MHz         : 3066.775
>>   cache size      : 12288 KB
>>   physical id     : 0
>>   siblings        : 2
>>   core id         : 0
>>   cpu cores       : 2
>>   apicid          : 0
>>   initial apicid  : 0
>>   fpu             : yes
>>   fpu_exception   : yes
>>   cpuid level     : 11
>>   wp              : yes
>>   flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat epb dtherm tpr_shadow vnmi ept vpid
>>   bugs            :
>>   bogomips        : 6133.55
>>   clflush size    : 64
>>   cache_alignment : 64
>>   address sizes   : 40 bits physical, 48 bits virtual
>>   power management:
>>
>> To manage notifications about this bug go to:
>> https://bugs.launchpad.net/qemu/+bug/1661386/+subscriptions
>
>
>
> --
> With best regards,
> Matwey V. Kornilov


-- 
With best regards,
Matwey V. Kornilov

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1661386

Title:
  Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed

Status in QEMU:
  New

Bug description:
  Hello,

  
  I see the following when try to run qemu from master as the following:

  # ./x86_64-softmmu/qemu-system-x86_64 --version
  QEMU emulator version 2.8.50 (v2.8.0-1006-g4e9f524)
  Copyright (c) 2003-2016 Fabrice Bellard and the QEMU Project developers
  # ./x86_64-softmmu/qemu-system-x86_64 -machine accel=kvm -nodefaults
  -no-reboot -nographic -cpu host -vga none  -kernel .build.kernel.kvm
  -initrd .build.initrd.kvm -append 'panic=1 no-kvmclock console=ttyS0
  loglevel=7' -m 1024 -serial stdio
  qemu-system-x86_64: /home/matwey/lab/qemu/target/i386/kvm.c:1849:
  kvm_put_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.

  First broken commit has been bisected:

  commit 48e1a45c3166d659f781171a47dabf4a187ed7a5
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   Wed Mar 30 22:55:29 2016 +0200

      target-i386: assert that KVM_GET/SET_MSRS can set all requested MSRs
      
      This would have caught the bug in the previous patch.
      
      Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

  My cpuinfo is the following:

  processor       : 0
  vendor_id       : GenuineIntel
  cpu family      : 6
  model           : 44
  model name      : Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz
  stepping        : 2
  microcode       : 0x14
  cpu MHz         : 3066.775
  cache size      : 12288 KB
  physical id     : 0
  siblings        : 2
  core id         : 0
  cpu cores       : 2
  apicid          : 0
  initial apicid  : 0
  fpu             : yes
  fpu_exception   : yes
  cpuid level     : 11
  wp              : yes
  flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat epb dtherm tpr_shadow vnmi ept vpid
  bugs            :
  bogomips        : 6133.55
  clflush size    : 64
  cache_alignment : 64
  address sizes   : 40 bits physical, 48 bits virtual
  power management:

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1661386/+subscriptions

  reply	other threads:[~2017-07-23 10:31 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-02 20:45 [Qemu-devel] [Bug 1661386] [NEW] Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed Matwey V. Kornilov
2017-02-03 12:57 ` [Qemu-devel] [Bug 1661386] " Dr. David Alan Gilbert
2017-02-03 16:25   ` Matwey V. Kornilov
2017-02-03 18:34 ` Dr. David Alan Gilbert
2017-02-03 18:55   ` Matwey V. Kornilov
2017-02-03 19:51 ` Dr. David Alan Gilbert
2017-02-05  8:58   ` Matwey V. Kornilov
2017-02-06 10:02 ` Dr. David Alan Gilbert
2017-02-06 16:54   ` Matwey V. Kornilov
2017-02-06 16:51 ` Matwey V. Kornilov
2017-02-06 17:11 ` Dr. David Alan Gilbert
2017-02-06 17:45   ` Matwey V. Kornilov
2017-02-06 17:31 ` Paolo Bonzini
2017-02-06 18:05 ` Dr. David Alan Gilbert
2017-02-06 19:38   ` Matwey V. Kornilov
2017-02-06 21:49     ` Paolo Bonzini
2017-02-07 15:50     ` Matwey V. Kornilov
2017-02-08  8:49 ` Paolo Bonzini
2017-07-23  9:54   ` Matwey V. Kornilov
2017-07-23 10:24     ` Matwey V. Kornilov [this message]
2017-02-08 13:14 ` Matwey V. Kornilov
2017-02-08 13:15 ` Matwey V. Kornilov
2017-04-07 13:26 ` Matwey V. Kornilov
2020-02-11 14:42 ` Thomas Huth
2020-02-11 15:43   ` Matwey V. Kornilov
2020-02-11 16:37 ` Thomas Huth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJs94EYaHCXy7w+-8sEXmqR7CMrjv2me-HW5fpgYigdnXpMXgQ@mail.gmail.com \
    --to=matwey.kornilov@gmail.com \
    --cc=1661386@bugs.launchpad.net \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).