- Use symbolic names for scheduling policies, that is, don't assume
SCHED_RR is 2, use SCHED_RR instead, and so on.
- Fix the logic in handlepolicy(char *polname)
- remove the test with the unreachable line,
- make the default SCHED_FIFO if we don't recognize the
requested policy.
Signed-off-by: John Kacur <jkacur@redhat.com>
This reverts commit 582be2a52c.
Unfortunately this commit introduces a bug because the priority is not
retested, and this can result in reported priorities below 0.
For example,
sudo ./cyclictest -t3 -p1
policy: fifo: loadavg: 0.09 0.06 0.05 1/331 21732
T: 0 (21730) P: 1 I:1000 C: 593 Min: 34 Act: 155 Avg: 100 Max: 672
T: 1 (21731) P: 0 I:1500 C: 395 Min: 15 Act: 43 Avg: 72 Max: 853
T: 2 (21732) P:-1 I:2000 C: 297 Min: 21 Act: 57 Avg: 79 Max: 330
Notice that the last priority is reported as -1.
After reverting this commit, we get the correct expected behaviour.
sudo ./cyclictest -t3 -p1
policy: fifo: loadavg: 0.07 0.05 0.04 2/330 21754
T: 0 (21752) P: 1 I:1000 C: 11600 Min: 13 Act: 7072 Avg: 3593 Max: 7841
T: 1 (21753) P: 0 I:1500 C: 7737 Min: 12 Act: 1572 Avg: 516 Max: 2381
T: 2 (21754) P: 0 I:2000 C: 5804 Min: 12 Act: 53 Avg: 59 Max: 548
I think it can be argued that the original code is also clearer, although
that is somewhat subjective. With the original code I don't need to track
down exactly what "sameprio" means, and it is clear what is being tested.
Signed-off-by: John Kacur <jkacur@redhat.com>
The command name is already taken by a perl script working with CPAN
and a Python package installer.
While at it remove trailing whitespace from three lines in
src/pi_tests/pip_stress.c.
Closes: http://bugs.debian.org/572104
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: John Kacur <jkacur@redhat.com>
These temporary files were a real problem when creating the Debian
package for rt-tests. debhelper (a generic suite of scripts to ease
packaging) did something like:
perl -c 'close(STDERR); exec("make distclean");'
which leaked the *.d.$$ files and then wailed that the package contained
untracked changes to the vanilla source. See
http://bugs.debian.org/570443 for some more details.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: John Kacur <jkacur@redhat.com>
These temporary files were a real problem when creating the Debian
package for rt-tests. debhelper (a generic suite of scripts to ease
packaging) did something like:
perl -c 'close(STDERR); exec("make distclean");'
which leaked the *.d.$$ files and then wailed that the package contained
untracked changes to the vanilla source. See
http://bugs.debian.org/570443 for some more details.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Improved argument/option handling by using getopt_long(). Made more of the
parameters tunable as well. Hackbench now accepts the following arguments:
-P | --pipe Use pipe
-s | --datasize Number of bytes to pass from sender to receiver
(default 100 bytes)
-l | --loops Number of messages each sender will send
(default 100 rounds)
-g | --groups Number of groups with sender/receivers
(default 10 groups)
-f | --fds Number of file descriptors each group will use
(default 20*2)
-T | --threads Run using pthreads
-P | --process Run using fork()
Signed-off-by: David Sommerseth <davids@redhat.com>
This does much what earlier commits did before hackbench got updated
to the latest version in the previous commit.
Consider the following commits being "forward ported", feature wise:
4c39eff2130a72fcaadefbd80c495bbd588c92b8
Signed-off-by: David Sommerseth <davids@redhat.com>
Improved argument/option handling by using getopt_long(). Made more of the
parameters tunable as well. Hackbench now accepts the following arguments:
-P | --pipe Use pipe
-s | --datasize Number of bytes to pass from sender to receiver
(default 100 bytes)
-l | --loops Number of messages each sender will send
(default 100 rounds)
-g | --groups Number of groups with sender/receivers
(default 10 groups)
-f | --fds Number of file descriptors each group will use
(default 20*2)
-T | --threads Run using pthreads
-P | --process Run using fork()
Signed-off-by: David Sommerseth <davids@redhat.com>
This does much what earlier commits did before hackbench got updated
to the latest version in the previous commit.
Consider the following commits being "forward ported", feature wise:
4c39eff2130a72fcaadefbd80c495bbd588c92b8
Signed-off-by: David Sommerseth <davids@redhat.com>
Valgrind complained about usage of non-initialised data. The compiler
complained about the out_fds argument being unsigned int when calling
sender().
Signed-off-by: David Sommerseth <davids@redhat.com>
Instead of just exiting immediately the original version did, we now
count how many children who failed to exit properly and report it.
Signed-off-by: David Sommerseth <davids@redhat.com>
In commit 4c39eff213 a new approach for tracking
each child was implemented. But this implementation ignored the fact that each
group() call creates 2*num_fds children.
This patch refactors the previous attempt and will now track absolutely all
children. If fork() fails when called in group(), all spawned children will
now also be killed explicitly.
Signed-off-by: David Sommerseth <davids@redhat.com>
Quite often it's experienced in rteval that hackbench leaves some children
as zombies during closure. This is an attempt to keep an overview of the
status of each child separately. It's solved by having an array with all
sender and reciever children's pids and calling waitpid() on each of these
children pairs.
Signed-off-by: David Sommerseth <davids@redhat.com>
Fix code in check_privs() that passes NULL as parameter
to sched_setscheduler().
Reported-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Clark Williams <williams@redhat.com>
Add a workaround to hwlatdetect to deal with a broken block of
code in drivers/misc/smi_detector.ko, where whenever you enable
the module (write a 1 to debugfs/smi_detector/enable) the stats
initialization routine resets the threshold from whatever it was
set to to 1us. This workaround checks the threshold after enabling
the module and resets it to what we want.
Signed-off-by: Clark Williams <williams@redhat.com>