public inbox for dtrace@lists.linux.dev
 help / color / mirror / Atom feed
From: Kris Van Hees <kris.van.hees@oracle.com>
To: eugene.loh@oracle.com
Cc: dtrace@lists.linux.dev, dtrace-devel@oss.oracle.com
Subject: Re: [PATCH 3/5] test: Fix some ustackdepth tests
Date: Fri, 3 Oct 2025 00:07:00 -0400	[thread overview]
Message-ID: <aN9L5MPaovKcMo7+@oracle.com> (raw)
In-Reply-To: <20251001062418.6902-3-eugene.loh@oracle.com>

On Wed, Oct 01, 2025 at 02:24:16AM -0400, eugene.loh@oracle.com wrote:
> From: Eugene Loh <eugene.loh@oracle.com>
> 
> Fix these issues.
> 
> Issue 1.
> 
> In commit e48bf6a23 ("Add support for built-in variable ustackdepth"),
> tests ustackdepth2 and ustackdepth_big were introduced and their .r and
> .r.p files were links to those of the stackdepth2 test.
> 
> In commit 842eabc0e
> ("test: caller and stackdepth tests for fbt provider"), the stackdepth2
> test was explicitly renamed "fbt" since tests for many providers were
> being introduced.  The links of the earlier patch were not updated.
> 
> Issue 2.
> 
> The ustackdepth_big test modified perf_event_max_stack.  If the test
> were interrupted, the value was not restored.
> 
> Issue 3.
> 
> That ustackdepth_big test only checked that the stackdepth was
> consistent with the reported stack.  While this check is good, it missed
> the point of the test, which is that the system limit could be
> increased.
> 
> Signed-off-by: Eugene Loh <eugene.loh@oracle.com>

Reviewed-by: Kris Van Hees <kris.van.hees@oracle.com>

> ---
>  .../variables/bvar/tst.ustackdepth2.r         |  2 +-
>  .../variables/bvar/tst.ustackdepth2.r.p       |  2 +-
>  .../variables/bvar/tst.ustackdepth_big.r      |  1 -
>  .../variables/bvar/tst.ustackdepth_big.r.p    |  1 -
>  .../variables/bvar/tst.ustackdepth_big.sh     | 34 +++++++++++++++++--
>  5 files changed, 34 insertions(+), 6 deletions(-)
>  mode change 120000 => 100644 test/unittest/variables/bvar/tst.ustackdepth2.r
>  delete mode 120000 test/unittest/variables/bvar/tst.ustackdepth_big.r
>  delete mode 120000 test/unittest/variables/bvar/tst.ustackdepth_big.r.p
> 
> diff --git a/test/unittest/variables/bvar/tst.ustackdepth2.r b/test/unittest/variables/bvar/tst.ustackdepth2.r
> deleted file mode 120000
> index 5cc8498f8..000000000
> --- a/test/unittest/variables/bvar/tst.ustackdepth2.r
> +++ /dev/null
> @@ -1 +0,0 @@
> -tst.stackdepth2.r
> \ No newline at end of file
> diff --git a/test/unittest/variables/bvar/tst.ustackdepth2.r b/test/unittest/variables/bvar/tst.ustackdepth2.r
> new file mode 100644
> index 000000000..3bd29b8ed
> --- /dev/null
> +++ b/test/unittest/variables/bvar/tst.ustackdepth2.r
> @@ -0,0 +1 @@
> +Stack depth OK
> diff --git a/test/unittest/variables/bvar/tst.ustackdepth2.r.p b/test/unittest/variables/bvar/tst.ustackdepth2.r.p
> index 8320b603c..e50f12822 120000
> --- a/test/unittest/variables/bvar/tst.ustackdepth2.r.p
> +++ b/test/unittest/variables/bvar/tst.ustackdepth2.r.p
> @@ -1 +1 @@
> -tst.stackdepth2.r.p
> \ No newline at end of file
> +check_stackdepth_to_stack.awk
> \ No newline at end of file
> diff --git a/test/unittest/variables/bvar/tst.ustackdepth_big.r b/test/unittest/variables/bvar/tst.ustackdepth_big.r
> deleted file mode 120000
> index b6a2d6bcd..000000000
> --- a/test/unittest/variables/bvar/tst.ustackdepth_big.r
> +++ /dev/null
> @@ -1 +0,0 @@
> -tst.ustackdepth2.r
> \ No newline at end of file
> diff --git a/test/unittest/variables/bvar/tst.ustackdepth_big.r.p b/test/unittest/variables/bvar/tst.ustackdepth_big.r.p
> deleted file mode 120000
> index 0e8338907..000000000
> --- a/test/unittest/variables/bvar/tst.ustackdepth_big.r.p
> +++ /dev/null
> @@ -1 +0,0 @@
> -tst.ustackdepth2.r.p
> \ No newline at end of file
> diff --git a/test/unittest/variables/bvar/tst.ustackdepth_big.sh b/test/unittest/variables/bvar/tst.ustackdepth_big.sh
> index 777940ec8..e84850c02 100755
> --- a/test/unittest/variables/bvar/tst.ustackdepth_big.sh
> +++ b/test/unittest/variables/bvar/tst.ustackdepth_big.sh
> @@ -14,11 +14,19 @@
>  
>  dtrace=$1
>  
> +POSTPROC=$PWD/test/unittest/variables/bvar/check_stackdepth_to_stack.awk
> +TRIGGER=$PWD/test/triggers/ustack-tst-bigstack-spin
> +
> +DIRNAME=$tmpdir/ustackdepth_big.$$.$RANDOM
> +mkdir -p $DIRNAME
> +cd $DIRNAME
> +
>  orig_maxstack=`sysctl -n kernel.perf_event_max_stack`
>  echo kernel.perf_event_max_stack was $orig_maxstack
> +trap "sysctl kernel.perf_event_max_stack=$orig_maxstack" QUIT EXIT
>  sysctl kernel.perf_event_max_stack=200
>  
> -$dtrace $dt_flags -c test/triggers/ustack-tst-bigstack-spin -qn '
> +$dtrace $dt_flags -c $TRIGGER -qn '
>  profile-1
>  /pid == $target/
>  {
> @@ -32,7 +40,7 @@ ERROR
>  {
>      exit(1);
>  }
> -'
> +' > D.out
>  if [ $? -ne 0 ]; then
>      echo DTrace failure
>      exit 1
> @@ -41,4 +49,26 @@ fi
>  sleep 2
>  sysctl kernel.perf_event_max_stack=$orig_maxstack
>  
> +$POSTPROC D.out > awk.out
> +if [ $? -ne 0 ]; then
> +    echo post processing failure
> +    exit 1
> +fi
> +
> +if echo "Stack depth OK" | diff -q - awk.out; then
> +    mydepth=`gawk '/DEPTH/ { print $2 }' D.out`
> +    if [ $mydepth -gt $orig_maxstack ]; then
> +        echo success depth $mydepth exceeded original limit $orig_maxstack
> +        exit 0
> +    else
> +        echo ERROR: $mydepth does not exceed original limit $orig_maxstack
> +        cat D.out
> +        exit 1
> +    fi
> +else
> +    echo "ERROR: stack depth does not match stack"
> +    cat D.out
> +    exit 1
> +fi
> +
>  exit 0
> -- 
> 2.47.3
> 

  reply	other threads:[~2025-10-03  4:07 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-01  6:24 [PATCH 1/5] test: Use a more ubiquitous probe for return()-action tests eugene.loh
2025-10-01  6:24 ` [PATCH 2/5] test: Adjust skip file for lockmem problem eugene.loh
2025-10-03  3:52   ` Kris Van Hees
2025-10-01  6:24 ` [PATCH 3/5] test: Fix some ustackdepth tests eugene.loh
2025-10-03  4:07   ` Kris Van Hees [this message]
2025-10-09 16:29     ` Kris Van Hees
2025-10-09 21:11       ` Eugene Loh
2025-10-01  6:24 ` [PATCH 4/5] test: Fix antiquated reference to dtrace_ustackdepth_max eugene.loh
2025-10-03  3:56   ` Kris Van Hees
2025-10-01  6:24 ` [PATCH 5/5] test: Remove antiquated special case for aarch64 eugene.loh
2025-10-03  3:55   ` Kris Van Hees
2025-10-03  3:50 ` [PATCH 1/5] test: Use a more ubiquitous probe for return()-action tests Kris Van Hees

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aN9L5MPaovKcMo7+@oracle.com \
    --to=kris.van.hees@oracle.com \
    --cc=dtrace-devel@oss.oracle.com \
    --cc=dtrace@lists.linux.dev \
    --cc=eugene.loh@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox