lkml.org 
[lkml]   [2020]   [Nov]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH tip/core/rcu 19/28] torture: Accept time units on kvm.sh --duration argument
    Date
    From: "Paul E. McKenney" <paulmck@kernel.org>

    The "--duration <minutes>" has worked well for a very long time, but
    it can be inconvenient to compute the minutes for (say) a 28-hour run.
    It can also be annoying to have to let a simple boot test run for a full
    minute. This commit therefore permits an "s" suffix to specify seconds,
    "m" to specify minutes (which remains the default), "h" suffix to specify
    hours, and "d" to specify days.

    With this change, "--duration 5" still specifies that each scenario
    run for five minutes, but "--duration 30s" runs for only 30 seconds,
    "--duration 8h" runs for eight hours, and "--duration 2d" runs for
    two days.

    Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
    ---
    tools/testing/selftests/rcutorture/bin/kvm.sh | 18 +++++++++++++++---
    1 file changed, 15 insertions(+), 3 deletions(-)

    diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh b/tools/testing/selftests/rcutorture/bin/kvm.sh
    index 5ad3882..c348d96 100755
    --- a/tools/testing/selftests/rcutorture/bin/kvm.sh
    +++ b/tools/testing/selftests/rcutorture/bin/kvm.sh
    @@ -58,7 +58,7 @@ usage () {
    echo " --datestamp string"
    echo " --defconfig string"
    echo " --dryrun sched|script"
    - echo " --duration minutes"
    + echo " --duration minutes | <seconds>s | <hours>h | <days>d"
    echo " --gdb"
    echo " --help"
    echo " --interactive"
    @@ -128,8 +128,20 @@ do
    shift
    ;;
    --duration)
    - checkarg --duration "(minutes)" $# "$2" '^[0-9]*$' '^error'
    - dur=$(($2*60))
    + checkarg --duration "(minutes)" $# "$2" '^[0-9][0-9]*\(s\|m\|h\|d\|\)$' '^error'
    + mult=60
    + if echo "$2" | grep -q 's$'
    + then
    + mult=1
    + elif echo "$2" | grep -q 'h$'
    + then
    + mult=3600
    + elif echo "$2" | grep -q 'd$'
    + then
    + mult=86400
    + fi
    + ts=`echo $2 | sed -e 's/[smhd]$//'`
    + dur=$(($ts*mult))
    shift
    ;;
    --gdb)
    --
    2.9.5
    \
     
     \ /
      Last update: 2020-11-06 00:48    [W:4.159 / U:0.152 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site