lockbus test seems to have gone missing

Bug #1570916 reported by Jeff Lane 
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Stress-ng
Invalid
Undecided
Unassigned

Bug Description

At some point in a recent update, the lockbus test case in stress-ng seems to have disappeared:

Running stress-ng lockbus stressor for 300 seconds....
stress-ng: unrecognized option '--lockbus'
Try 'stress-ng --help' for more information.
return_code is 1
*****************************************************************
** Error 1 reported on stressor lockbus!)
*****************************************************************

I've checked on both s390 and amd64 and in both cases, stress-ng says --lockbus is not a valid option.

However, the man page shows --lockbus as a valid test:
--lockbus N
              start N workers that rapidly lock and increment 64 bytes of randomly chosen memory from a 16MB mmap'd region (Intel x86 CPUs only). This will cause cacheline misses and stalling of CPUs.

The man page says intel x86 cpus, so I presume this is simply not an option for x86_64 and s390... OR has it been removed alltogether? It seems odd to have different builds of the same tool with different commandline options.

If this is the case, a better option, IMO would be something like this:

# stress-ng --lockbus

on x86: Test runs
on !x86: Returns a warning like: "This test case is not valid for this architecture" and exits 0 to avoid breaking jobs that are expecting non-zero to mean a legitimate testcase failure, not a case of an unsupported option.

Revision history for this message
Colin Ian King (colin-king) wrote :

Which version of stress-ng are you running?

$ stress-ng -h | head -1
stress-ng, version 0.05.23

$ stress-ng --lockbus 1 -t 1
stress-ng: info: [32563] dispatching hogs: 1 lockbus
stress-ng: info: [32563] cache allocate: default cache size: 3072K
stress-ng: info: [32563] successful run completed in 1.00s

$ uname -a
Linux lenovo 4.4.0-18-generic #34-Ubuntu SMP Wed Apr 6 14:01:02 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

..so it's definitely available on x86_64 arches.

When stress-ng builds it auto detects the availability of system calls, API features and arch specific features and disables stressors if these are not available. I guess I could add a build time option that when one uses a not implemented stressor feature it reports that it is not available and returns some kind of exit status to indicate this.

BTW, you need to consult the man page for the exist status values. non-zero does not necessarily imply total failure.

Revision history for this message
Jeff Lane  (bladernr) wrote :

bladernr@galactica:~$ apt-cache policy stress-ng
stress-ng:
  Installed: 0.05.23-1
  Candidate: 0.05.23-1

It's because we were running on non-intel. Fastest resolution was to remove it completely from our testing for now. Later we'll have to see about setting up arch specific lists of tests.

Changed in stress-ng:
status: New → Invalid
Revision history for this message
Jeff Lane  (bladernr) wrote :

Marking this as invalid, it's not really a bug, just a misunderstanding of what tests are applicable where.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.