RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1817921 - SPLIT_LOCK_DISABLE is not enabled in VM with CPU model Snowridge
Summary: SPLIT_LOCK_DISABLE is not enabled in VM with CPU model Snowridge
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: qemu-kvm
Version: unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Paul Lai (Intel)
QA Contact: liunana
URL:
Whiteboard:
Depends On:
Blocks: 1750275
TreeView+ depends on / blocked
 
Reported: 2020-03-27 08:51 UTC by belinda
Modified: 2022-03-04 03:07 UTC (History)
12 users (show)

Fixed In Version: qemu-kvm-6.2.0-1.el9
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
RHEL 8.2 snapshot2 qemu-kvm fast train SNR Physical machine
Last Closed: 2022-01-10 16:39:03 UTC
Type: Bug
Target Upstream Version:
Embargoed:
pm-rhel: mirror+


Attachments (Terms of Use)

Description belinda 2020-03-27 08:51:22 UTC
Description of problem:
boot up guest with -cpu Snowridge, “split_lock_detect” cannot be found in cpu flags

Version-Release number of selected component (if applicable):
KVM

OS: Red Hat Enterprise Linux release 8.2 Beta (Ootpa)
Kernel:  4.18.0-184.el8.x86_644
AV qemu: 4.2.0 (qemu-kvm-4.2.0-12.module+el8.2.0+5858+afd073bc) 

How reproducible:


Steps to Reproduce:
1. Boot up guest using: -cpu Snowridge
qemu-img create -b /share/xvs/img/OSV/rhel_8u2_snapshot2_legacy.img -f qcow2 /share/xvs/var/tmp-img_KVM_CPU_SNR_1584915162 
qemu-system-x86_64 -accel kvm -drive file=/share/xvs/var/tmp-img_KVM_CPU_SNR_1584915162,if=none,id=virtio-disk0 -device virtio-blk-pci,drive=virtio-disk0 -m 4096 -monitor pty -smp 4 -cpu Snowridge -device virtio-net-pci,netdev=nic0,mac=00:44:7d:d4:42:1e -netdev tap,id=nic0,br=virbr0,helper=/usr/libexec/qemu-bridge-helper,vhost=on
2.Login VM and check cpu flag “split_lock_detect”
lscpu |grep split_lock_detect


Actual results:
on step2, “split_lock_detect” should be found in cpu flags 


Expected results:
on step2, “split_lock_detect” should be found in cpu flags 

Additional info:

Comment 1 Eduardo Habkost 2020-05-08 00:27:48 UTC
(In reply to belinda from comment #0)
> Description of problem:
> boot up guest with -cpu Snowridge, “split_lock_detect” cannot be found in
> cpu flags
> 
> Version-Release number of selected component (if applicable):
> KVM
> 
> OS: Red Hat Enterprise Linux release 8.2 Beta (Ootpa)
> Kernel:  4.18.0-184.el8.x86_644
> AV qemu: 4.2.0 (qemu-kvm-4.2.0-12.module+el8.2.0+5858+afd073bc) 
> 
> How reproducible:
> 
> 
> Steps to Reproduce:
> 1. Boot up guest using: -cpu Snowridge
> qemu-img create -b /share/xvs/img/OSV/rhel_8u2_snapshot2_legacy.img -f qcow2
> /share/xvs/var/tmp-img_KVM_CPU_SNR_1584915162 
> qemu-system-x86_64 -accel kvm -drive
> file=/share/xvs/var/tmp-img_KVM_CPU_SNR_1584915162,if=none,id=virtio-disk0
> -device virtio-blk-pci,drive=virtio-disk0 -m 4096 -monitor pty -smp 4 -cpu
> Snowridge -device virtio-net-pci,netdev=nic0,mac=00:44:7d:d4:42:1e -netdev
> tap,id=nic0,br=virbr0,helper=/usr/libexec/qemu-bridge-helper,vhost=on
> 2.Login VM and check cpu flag “split_lock_detect”
> lscpu |grep split_lock_detect

Linux doesn't show split_lock_detect on /proc/cpuinfo when it detects it's running under an hypervisor.  Please use intel msr-tools to check value of MSR_IA32_CORE_CAPABILITY (0xcf) has bit 5 set.

Comment 2 belinda 2020-08-06 08:02:26 UTC
(In reply to Eduardo Habkost from comment #1)
> (In reply to belinda from comment #0)
> > Description of problem:
> > boot up guest with -cpu Snowridge, “split_lock_detect” cannot be found in
> > cpu flags
> > 
> > Version-Release number of selected component (if applicable):
> > KVM
> > 
> > OS: Red Hat Enterprise Linux release 8.2 Beta (Ootpa)
> > Kernel:  4.18.0-184.el8.x86_644
> > AV qemu: 4.2.0 (qemu-kvm-4.2.0-12.module+el8.2.0+5858+afd073bc) 
> > 
> > How reproducible:
> > 
> > 
> > Steps to Reproduce:
> > 1. Boot up guest using: -cpu Snowridge
> > qemu-img create -b /share/xvs/img/OSV/rhel_8u2_snapshot2_legacy.img -f qcow2
> > /share/xvs/var/tmp-img_KVM_CPU_SNR_1584915162 
> > qemu-system-x86_64 -accel kvm -drive
> > file=/share/xvs/var/tmp-img_KVM_CPU_SNR_1584915162,if=none,id=virtio-disk0
> > -device virtio-blk-pci,drive=virtio-disk0 -m 4096 -monitor pty -smp 4 -cpu
> > Snowridge -device virtio-net-pci,netdev=nic0,mac=00:44:7d:d4:42:1e -netdev
> > tap,id=nic0,br=virbr0,helper=/usr/libexec/qemu-bridge-helper,vhost=on
> > 2.Login VM and check cpu flag “split_lock_detect”
> > lscpu |grep split_lock_detect
> 
> Linux doesn't show split_lock_detect on /proc/cpuinfo when it detects it's
> running under an hypervisor.  Please use intel msr-tools to check value of
> MSR_IA32_CORE_CAPABILITY (0xcf) has bit 5 set.

We checked on SNR & RHEL8.3 Beta & qemu-kvm fast train on host:
# rdmsr 0xcf
60

Comment 3 belinda 2020-08-06 08:02:43 UTC
(In reply to Eduardo Habkost from comment #1)
> (In reply to belinda from comment #0)
> > Description of problem:
> > boot up guest with -cpu Snowridge, “split_lock_detect” cannot be found in
> > cpu flags
> > 
> > Version-Release number of selected component (if applicable):
> > KVM
> > 
> > OS: Red Hat Enterprise Linux release 8.2 Beta (Ootpa)
> > Kernel:  4.18.0-184.el8.x86_644
> > AV qemu: 4.2.0 (qemu-kvm-4.2.0-12.module+el8.2.0+5858+afd073bc) 
> > 
> > How reproducible:
> > 
> > 
> > Steps to Reproduce:
> > 1. Boot up guest using: -cpu Snowridge
> > qemu-img create -b /share/xvs/img/OSV/rhel_8u2_snapshot2_legacy.img -f qcow2
> > /share/xvs/var/tmp-img_KVM_CPU_SNR_1584915162 
> > qemu-system-x86_64 -accel kvm -drive
> > file=/share/xvs/var/tmp-img_KVM_CPU_SNR_1584915162,if=none,id=virtio-disk0
> > -device virtio-blk-pci,drive=virtio-disk0 -m 4096 -monitor pty -smp 4 -cpu
> > Snowridge -device virtio-net-pci,netdev=nic0,mac=00:44:7d:d4:42:1e -netdev
> > tap,id=nic0,br=virbr0,helper=/usr/libexec/qemu-bridge-helper,vhost=on
> > 2.Login VM and check cpu flag “split_lock_detect”
> > lscpu |grep split_lock_detect
> 
> Linux doesn't show split_lock_detect on /proc/cpuinfo when it detects it's
> running under an hypervisor.  Please use intel msr-tools to check value of
> MSR_IA32_CORE_CAPABILITY (0xcf) has bit 5 set.

We checked on SNR & RHEL8.3 Beta & qemu-kvm fast train on host:
# rdmsr 0xcf
60

Comment 4 belinda 2020-08-06 08:05:44 UTC
We double confirmed with developer , SPLIT_LOCK_DISABLE patch is still not upstream, so we will keep monitor this issue, and will test as soon as it is integrated into RHEL.

Comment 7 John Ferlan 2021-09-14 22:29:30 UTC
Bulk update: Move RHEL8 bugs to RHEL9. If necessary to resolve in RHEL8, then clone to the current RHEL8 release.

Comment 8 RHEL Program Management 2021-09-27 07:26:59 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.

Comment 9 liunana 2021-10-11 02:40:30 UTC
Hi Eduardo,

Do we have a plan to fix this bug now?
If so, please help to re-open this bug.

Thanks!



Best regards
Liu Nana

Comment 10 liunana 2021-11-02 03:43:47 UTC
Hi Eduardo,


About this comment: https://bugzilla.redhat.com/show_bug.cgi?id=1750275#c26
Libvirt will remove '-split-lock-detect' in configuration while booting qemu with "<cpu mode='host-model'/>"


  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>Snowridge</model>
    <vendor>Intel</vendor>
    <feature policy='require' name='ss'/>
    <feature policy='require' name='vmx'/>
    <feature policy='require' name='pdcm'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='require' name='tsc_adjust'/>
    <feature policy='require' name='waitpkg'/>
    <feature policy='require' name='rdpid'/>
    <feature policy='require' name='md-clear'/>
    <feature policy='require' name='stibp'/>
    <feature policy='require' name='xsaves'/>
    <feature policy='require' name='ibpb'/>
    <feature policy='require' name='ibrs'/>
    <feature policy='require' name='amd-stibp'/>
    <feature policy='require' name='amd-ssbd'/>
    <feature policy='require' name='rdctl-no'/>
    <feature policy='require' name='ibrs-all'/>
    <feature policy='require' name='skip-l1dfl-vmentry'/>
    <feature policy='require' name='mds-no'/>
    <feature policy='require' name='pschange-mc-no'/>
    <feature policy='disable' name='mpx'/>
    <feature policy='disable' name='core-capability'/>
    <feature policy='disable' name='split-lock-detect'/>


Is this a workaround for this bug or a final resolution?
If this is the final resolution do we need a Doc Text for this?


Please help to check this, thanks.


Best regards
Liu Nana

Comment 11 liunana 2021-11-02 04:00:53 UTC
Update the test Env for Comment 10:

   intel-jacobsville-01.khw1.lab.eng.bos.redhat.com
   kernel-4.18.0-348.3.el8.x86_64
   qemu-kvm-6.1.0-2.module+el8.6.0+12861+13975d62.x86_64
   libvirt-7.8.0-1.module+el8.6.0+12978+7d7a0321.x86_64

Comment 12 Eduardo Habkost 2021-11-02 18:43:39 UTC
(In reply to liunana from comment #10)
> Is this a workaround for this bug or a final resolution?
> If this is the final resolution do we need a Doc Text for this?

It is a workaround, but it makes the original bug less serious.  I don't think we need a Doc Text for it.

Comment 13 liunana 2021-11-03 04:56:28 UTC
(In reply to Eduardo Habkost from comment #12)
> (In reply to liunana from comment #10)
> > Is this a workaround for this bug or a final resolution?
> > If this is the final resolution do we need a Doc Text for this?
> 
> It is a workaround, but it makes the original bug less serious.  I don't
> think we need a Doc Text for it.

OK, so we still have a plan to fix this.

I will re-open this bug now, if you have any other advice feel free to change it, thanks.



Best regards
Liu Nana

Comment 15 Eduardo Habkost 2021-11-10 21:35:42 UTC
Upstream fix:

commit 56bb24e543f9ddd27c74178f3398b7a1dbb2742a
Author: Chenyi Qiang <chenyi.qiang>
Date:   Wed Jun 30 09:20:53 2021 +0800

    target/i386: Remove split lock detect in Snowridge CPU model
    
    At present, there's no mechanism intelligent enough to virtualize split
    lock detection correctly. Remove it in Snowridge CPU model to avoid the
    feature exposure.
    
    Signed-off-by: Chenyi Qiang <chenyi.qiang>
    Message-Id: <20210630012053.10098-1-chenyi.qiang>
    Signed-off-by: Eduardo Habkost <ehabkost>

Comment 18 Nitesh Narayan Lal 2021-11-17 15:04:00 UTC
Clearing depends on for this BZ as FWICT the issue reported in this BZ should not be blocked by the kernel BZ.
Also, the fix for this is already upstream as indicated by Eduardo in Comment 15.

Comment 20 Eduardo Habkost 2021-11-17 17:58:59 UTC
(In reply to belinda from comment #0)
> Expected results:
> on step2, “split_lock_detect” should be found in cpu flags 
> 
> Additional info:

Just for clarification: the solution for the problem reported here is not to make split_lock_detect be part of the CPU model, but to _remove_ the flag from the CPU model (see upstream commit 56bb24e543f9ddd27c74178f3398b7a1dbb2742a mentioned on comment 15).

This means the "expected results" section in comment 0 doesn't apply, and the removal of the kernel/KVM BZ dependency done on comment 18 is correct.

Comment 21 John Ferlan 2021-11-17 22:01:43 UTC
Fix the ITR to 9.0.0 since this is a RHEL9 bug and set DTM=16, devel_ack+ since it will come as part of the rebase.... I do agree w/ Eduardo in comment 20, it's a bit odd since the result seems to contradict the expected results.

Comment 25 Yanan Fu 2021-12-20 12:39:38 UTC
QE bot(pre verify): Set 'Verified:Tested,SanityOnly' as gating/tier1 test pass.

Comment 28 liunana 2021-12-28 03:03:07 UTC
Hi Paul, 


This bug's fix of Comment 15 is going to remove split lock detect in Snowridge-v4 model.
And it works without warnings.

# /usr/libexec/qemu-kvm -cpu Snowridge-v4,enforce
VNC server running on ::1:5900


But do we still have a plan to support split lock detect in Snowridge CPU model?

If so, seems we need to keep this bz opening.


Please correct me if I'm wrong.



Best regards
Liu Nana

Comment 29 Nitesh Narayan Lal 2022-01-07 14:55:43 UTC
Switching needinfo from Paul's redhat email ID to intel one which he checks frequently.

Comment 30 Paul Lai (Intel) 2022-01-10 16:39:03 UTC
(In reply to Nitesh Narayan Lal from comment #29)
> Switching needinfo from Paul's redhat email ID to intel one which he checks
> frequently.

Qiang, Chenyi <chenyi.qiang>:
Split-lock detect is a feature enumerated in CORE_CAPABILITIES.  CORE_CAPABILITIES features are model specific, KVM will not support it.

So, the patch will not be reverted. We can close this BZ.

Comment 31 Paul Lai (Intel) 2022-03-04 03:07:28 UTC
per comment 30


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