Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
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 1761664

Summary: cyclictest with default interval exceeds 20us maximum
Product: Red Hat Enterprise Linux 7 Reporter: Pei Zhang <pezhang>
Component: kernel-rtAssignee: Marcelo Tosatti <mtosatti>
kernel-rt sub component: KVM QA Contact: Pei Zhang <pezhang>
Status: CLOSED WONTFIX Docs Contact:
Severity: unspecified    
Priority: unspecified CC: bhu, chayang, jinzhao, jkacur, jlelli, juzhang, lcapitulino, mtosatti, nilal, virt-maint, williams
Version: 7.8   
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-12-20 20:41:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1672377    

Description Pei Zhang 2019-10-15 03:18:38 UTC
Description of problem:

Testing cyclictest with default interval value, the max latency value will be larger than with "-i 200".

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

kernel-rt-3.10.0-1101.rt56.1061.el7.x86_64
qemu-kvm-rhev-2.12.0-37.el7.x86_64
libvirt-4.5.0-26.el7.x86_64
tuned-2.11.0-8.el7.noarch


How reproducible:
Sometimes

Steps to Reproduce:
1. Setup RT host

2. Setup RT guest

3. Start kernel compiling in host with $twice_of_host_housekeeping_cores

4. Start kernel compiling in guest with $twice_of_guest_housekeeping_cores

5. Start cyclictest in guest with default interval value. 

# taskset -c 1 /home/nfv-virt-rt-kvm/tools/cyclictest -m -n -q -p95 -D 24h -h60 -t 1 -a 1 -b40 --notrace

Step 3,4,5 are executing at same time.


Actual results:

We collect all of our past rhel7.8 testing results here, the Max_Latency is the max latency value of 24h with 3 standard kvm-rt testing scenarios. Seems "-i 200" has better or at least equal results than default interval value.

(1)Disable meldown&spectre:
             Version                           Max_Latency   Interval_Value  
kernel-rt-3.10.0-1070.rt56.1030.el7.x86_64         21us           default
kernel-rt-3.10.0-1087.rt56.1047.el7.x86_64         21us           default
kernel-rt-3.10.0-1101.rt56.1061.el7.x86_64         17us           "-i 200"
     
(2)Enable meltdown&spectre:
             Version                           Max_Latency   Interval_Value  
kernel-rt-3.10.0-1099.rt56.1059.el7.x86_64          24us          default
kernel-rt-3.10.0-1100.rt56.1060.el7.x86_64          37us          default
kernel-rt-3.10.0-1101.rt56.1061.el7.x86_64          24us          "-i 200"


Expected results:
Testing with default interval value, the cyclictest max latency should not be worse than "-i 200".


Additional info:

Comment 2 Luiz Capitulino 2019-10-16 12:57:58 UTC
Pei,

I think there's some confusion here. You won't be able to achieve < 20us with
the security mitigations enabled. Would you please disable them and try again?

Comment 3 Luiz Capitulino 2019-10-16 20:41:42 UTC
I think I was confused, Pei did run the case with the security mitigations
disabled (for -i 1000, ie "default"):

(1)Disable meldown&spectre:
             Version                           Max_Latency   Interval_Value  
kernel-rt-3.10.0-1070.rt56.1030.el7.x86_64         21us           default
kernel-rt-3.10.0-1087.rt56.1047.el7.x86_64         21us           default
kernel-rt-3.10.0-1101.rt56.1061.el7.x86_64         17us           "-i 200"

Marcelo, this is just 2us and maybe with a machine with higher Hz we may not
see this. Do you still think it's worth debugging it?

Comment 4 Pei Zhang 2019-10-18 06:26:06 UTC
Hi Luiz, 

The title might be a bit confused. Maybe changing as "cyclictest with default interval has worse latency then with 200" looks better. 

In our past testings, with security mitigations enabled, the max latency  <= 40us. With security mitigations disabled, the max latency <=20us(sometimes 21us). These results are accepted by us.

"-i 200" can help reduce the max latency a bit, it makes the results better.


Thanks.

Best regards,

Pei

Comment 5 Marcelo Tosatti 2019-10-21 21:41:48 UTC
(In reply to Luiz Capitulino from comment #3)
> I think I was confused, Pei did run the case with the security mitigations
> disabled (for -i 1000, ie "default"):
> 
> (1)Disable meldown&spectre:
>              Version                           Max_Latency   Interval_Value  
> kernel-rt-3.10.0-1070.rt56.1030.el7.x86_64         21us           default
> kernel-rt-3.10.0-1087.rt56.1047.el7.x86_64         21us           default
> kernel-rt-3.10.0-1101.rt56.1061.el7.x86_64         17us           "-i 200"
> 
> Marcelo, this is just 2us and maybe with a machine with higher Hz we may not
> see this. Do you still think it's worth debugging it?

Yes, i think so. We should understand what is happening.

Pei, can you make the machine available ? (with instructions as to reproduce kernel compilation, login to the guest, etc).

Thanks.

Comment 7 Luiz Capitulino 2019-10-22 13:01:27 UTC
(In reply to Marcelo Tosatti from comment #5)
> (In reply to Luiz Capitulino from comment #3)
> > I think I was confused, Pei did run the case with the security mitigations
> > disabled (for -i 1000, ie "default"):
> > 
> > (1)Disable meldown&spectre:
> >              Version                           Max_Latency   Interval_Value  
> > kernel-rt-3.10.0-1070.rt56.1030.el7.x86_64         21us           default
> > kernel-rt-3.10.0-1087.rt56.1047.el7.x86_64         21us           default
> > kernel-rt-3.10.0-1101.rt56.1061.el7.x86_64         17us           "-i 200"
> > 
> > Marcelo, this is just 2us and maybe with a machine with higher Hz we may not
> > see this. Do you still think it's worth debugging it?
> 
> Yes, i think so. We should understand what is happening.

OK. Since you took on debugging, I'm reassigning to you.