Bug 1395750

Summary: RFE - Explore whether an option for automating the affinity mask
Product: Red Hat Enterprise Linux 7 Reporter: John Kacur <jkacur>
Component: rt-testsAssignee: John Kacur <jkacur>
Status: CLOSED WONTFIX QA Contact: Jiri Kastner <jkastner>
Severity: unspecified Docs Contact:
Priority: medium    
Version: 7.4CC: bhu, kzhang
Target Milestone: rcKeywords: FutureFeature
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: 2017-03-28 13:18:10 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:
Bug Depends On:    
Bug Blocks: 1353018    

Description John Kacur 2016-11-16 15:17:40 UTC
Currently, if you use the -t option without an argument cyclictest presumes that it should put a measurement thread on every online cpu. This is the original logic, which is to test the entire system.
The alternative is to use -t<n> and -a<cpulist> to create <n> measurement threads and affine them to <cpulist>. One complaint I have about this is that no matter where you place the measurement threads, they're labeled 0-(n-1) in the output, so it makes it hard to map a test thread back to the cpu where it ran. Wondering if we can update the output to show the core to which a test thread is bound.

I'm also wondering if we can add a third option to say "just use the cores in your current cpu affinity mask". That way you can rejigger the tuning parameters for a system and then just kick off cyclictest without having to figure out how your -a/-t options should change to match.

I'm thinking where we've diddled the isolcpus= boot parameter and want to try cyclictest over there like this:
        # presumes isolcpus=0,12
        taskset --cpus=0,12 cyclictest -p95 -mn --affinity-mask

So that we'd get two measurment threads, affine to cpus 0 and 12. I realize that we could do this with '-t2 -a0,12' but I was hoping to simplify things.

Comment 1 John Kacur 2017-03-28 13:18:10 UTC
This feature item should be moved to the rewrite of cyclictest we are planning