Bug 1918571 - "Host CPU does not provide required features: monitor" [rhel-8.3.0.z]
Summary: "Host CPU does not provide required features: monitor" [rhel-8.3.0.z]
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: libvirt
Version: 8.1
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: 8.4
Assignee: Jiri Denemark
QA Contact: yalzhang@redhat.com
URL:
Whiteboard:
Depends On: 1798004
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-01-21 04:51 UTC by RHEL Program Management Team
Modified: 2021-01-25 14:35 UTC (History)
30 users (show)

Fixed In Version: libvirt-6.6.0-7.3.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1798004
Environment:
Last Closed: 2021-01-25 14:35:43 UTC
Type: ---
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Comment 1 Yash Mankad 2021-01-21 04:53:57 UTC
Hi Yalan,

Could you grant qa_ack+ please ?

Thanks!

Comment 5 yalzhang@redhat.com 2021-01-25 03:37:32 UTC
Refer to Bug 1798004#c44 for the test steps:

Reproduce bug on libvirt-6.6.0-7.2.module+el8.3.0+9452+c31d6765.x86_64

1. Host and L1 guest both installed libvirt-6.6.0-7.2;

2. Host cpu model is 'EPYC-IBPB';

3. Start L1 guest with cpu model as below:
<cpu mode='host-passthrough' check='partial' migratable='on'/>

4. On L1 guest, the cpu is recognized as "Opteron_G2" by "virsh capabilities", try to start L2 guest with cpu as:
  <cpu mode='custom' match='exact' check='partial'>
    <model fallback='allow'>EPYC</model>
    <feature policy='require' name='ibpb'/>
    <feature policy='require' name='virt-ssbd'/>
  </cpu>

5. The L2 guest can not start with error as:
[root@L1 ~]# virsh start rh
error: Failed to start domain rh
error: the CPU is incompatible with host CPU: Host CPU does not provide required features: monitor

Update the libvirt both on host and L1 guest to libvirt-6.6.0-7.3.module+el8.3.0+9547+7d548490.x86_64
1. start the L1 guest, the guest cpu is recognized as "EPYC-IBPB"
[root@L1 ~]# virsh domcapabilities 
 <cpu>
    <mode name='host-passthrough' supported='yes'>
      <enum name='hostPassthroughMigratable'>
        <value>on</value>
        <value>off</value>
      </enum>
    </mode>
    <mode name='host-model' supported='yes'>
      <model fallback='forbid'>EPYC-IBPB</model>
      <vendor>AMD</vendor>
      <feature policy='require' name='x2apic'/>
      <feature policy='require' name='tsc-deadline'/>
      <feature policy='require' name='hypervisor'/>
      <feature policy='require' name='tsc_adjust'/>
      <feature policy='require' name='arch-capabilities'/>
      <feature policy='require' name='xsaves'/>
      <feature policy='require' name='cmp_legacy'/>
      <feature policy='require' name='perfctr_core'/>
      <feature policy='require' name='clzero'/>
      <feature policy='require' name='xsaveerptr'/>
      <feature policy='require' name='virt-ssbd'/>
      <feature policy='require' name='rdctl-no'/>
      <feature policy='require' name='skip-l1dfl-vmentry'/>
      <feature policy='require' name='mds-no'/>
      <feature policy='require' name='pschange-mc-no'/>
      <feature policy='disable' name='svm'/>
      <feature policy='disable' name='monitor'/>
    </mode>
    <mode name='custom' supported='yes'>
...
 <model usable='no'>EPYC-Rome</model>
      <model usable='yes'>EPYC-IBPB</model>
      <model usable='yes'>EPYC</model>
      <model usable='yes'>Dhyana</model>
...

# virsh capabilities
<capabilities>

  <host>
    <uuid>64b6bd9c-1304-4f29-a007-37ff58b9b7a5</uuid>
    <cpu>
      <arch>x86_64</arch>
      <model>EPYC-IBPB</model>
      <vendor>AMD</vendor>
      <microcode version='134222416'/>
      <topology sockets='1' dies='1' cores='1' threads='1'/>
      <feature name='x2apic'/>
      <feature name='tsc-deadline'/>
      <feature name='osxsave'/>
      <feature name='hypervisor'/>
      <feature name='tsc_adjust'/>
      <feature name='arch-capabilities'/>
      <feature name='xsaves'/>
      <feature name='cmp_legacy'/>
      <feature name='perfctr_core'/>
      <feature name='clzero'/>
      <feature name='xsaveerptr'/>
      <feature name='virt-ssbd'/>
      <feature name='npt'/>
      <feature name='nrip-save'/>
      <feature name='rdctl-no'/>
      <feature name='skip-l1dfl-vmentry'/>
      <feature name='mds-no'/>
      <feature name='pschange-mc-no'/>
      <pages unit='KiB' size='4'/>
      <pages unit='KiB' size='2048'/>
      <pages unit='KiB' size='1048576'/>
    </cpu>
...


2. start the L2 guest, the guest can start successfully.
[root@L1 ~]# virsh dumpxml rh | grep /cpu -B4
  <cpu mode='custom' match='exact' check='partial'>
    <model fallback='allow'>EPYC</model>
    <feature policy='require' name='ibpb'/>
    <feature policy='require' name='virt-ssbd'/>
  </cpu>

[root@L1 ~]# virsh start rh
Domain rh started

[root@L1 ~]# virsh dumpxml rh | grep /cpu -B9
  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>EPYC</model>
    <feature policy='require' name='ibpb'/>
    <feature policy='require' name='virt-ssbd'/>
    <feature policy='disable' name='monitor'/>
    <feature policy='require' name='x2apic'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='disable' name='svm'/>
    <feature policy='require' name='topoext'/>
  </cpu>

set the bug to be verified.

Comment 7 errata-xmlrpc 2021-01-25 14:35:43 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (virt:8.3 bug fix update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:0241


Note You need to log in before you can comment on or make changes to this bug.