linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Suzuki K Poulose <suzuki.poulose@arm.com>
To: Namhyung Kim <namhyung@kernel.org>,
	Athira Rajeev <atrajeev@linux.vnet.ibm.com>,
	Mike Leach <mike.leach@linaro.org>,
	James Clark <james.clark@arm.com>, Leo Yan <leo.yan@linaro.org>
Cc: irogers@google.com, maddy@linux.ibm.com,
	Ruidong Tian <tianruidong@linux.alibaba.com>,
	kjain@linux.ibm.com, adrian.hunter@intel.com, acme@kernel.org,
	linux-perf-users@vger.kernel.org, jolsa@kernel.org,
	disgoel@linux.vnet.ibm.com, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 1/3] perf tests test_arm_coresight: Fix the shellcheck warning in latest test_arm_coresight.sh
Date: Thu, 5 Oct 2023 10:36:21 +0100	[thread overview]
Message-ID: <c59c586e-08ab-df66-7bcd-5249d2481298@arm.com> (raw)
In-Reply-To: <CAM9d7cj26Dpit3igZjybsbnotBiv_F8mEu62Aor+9bBhwVh55g@mail.gmail.com>

On 05/10/2023 06:02, Namhyung Kim wrote:
> On Thu, Sep 28, 2023 at 9:11 PM Athira Rajeev
> <atrajeev@linux.vnet.ibm.com> wrote:
>>
>> Running shellcheck on tests/shell/test_arm_coresight.sh
>> throws below warnings:
>>
>>          In tests/shell/test_arm_coresight.sh line 15:
>>          cs_etm_path=$(find  /sys/bus/event_source/devices/cs_etm/ -name cpu* -print -quit)
>>                    ^--^ SC2061: Quote the parameter to -name so the shell won't interpret it.
>>
>>          In tests/shell/test_arm_coresight.sh line 20:
>>                  if [ $archhver -eq 5 -a "$(printf "0x%X\n" $archpart)" = "0xA13" ] ; then
>>                                       ^-- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined
>>
>> This warning is observed after commit:
>> "commit bb350847965d ("perf test: Update cs_etm testcase for Arm ETE")"
>>
>> Fixed this issue by using quoting 'cpu*' for SC2061 and
>> using "&&" in line number 20 for SC2166 warning
>>
>> Fixes: bb350847965d ("perf test: Update cs_etm testcase for Arm ETE")
>> Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>

Thanks for the fix.

Nothing to do with this patch, but I am wondering if the original patch
is over engineered and may not be future proof.

e.g.,

cs_etm_dev_name() {
+	cs_etm_path=$(find  /sys/bus/event_source/devices/cs_etm/ -name cpu* 
-print -quit)

Right there you got the device name and we can easily deduce the name of
the "ETM" node.

e.g,:
	etm=$(basename $(readlink cs_etm_path) | sed "s/[0-9]\+$//")

And practically, nobody prevents an ETE mixed with an ETM on a "hybrid"
system (hopefully, no one builds it ;-))

Also, instead of hardcoding "ete" and "etm" prefixes from the arch part,
we should simply use the cpu nodes from :

/sys/bus/event_source/devices/cs_etm/

e.g.,

arm_cs_etm_traverse_path_test() {
	# Iterate for every ETM device
	for c in /sys/bus/event_source/devices/cs_etm/cpu*; do
		# Read the link to be on the safer side
		dev=`readlink $c`
		
		# Find the ETM device belonging to which CPU
		cpu=`cat $dev/cpu`

		# Use depth-first search (DFS) to iterate outputs
		arm_cs_iterate_devices $dev $cpu
	done;
}



> 
> You'd better add Coresight folks on this.
> Maybe this file was missing in the MAINTAINERS file.

And the original author of the commit, that introduced the issue too.

Suzuki

> 
> Thanks,
> Namhyung
> 
> 
>> ---
>>   tools/perf/tests/shell/test_arm_coresight.sh | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/perf/tests/shell/test_arm_coresight.sh b/tools/perf/tests/shell/test_arm_coresight.sh
>> index fe78c4626e45..f2115dfa24a5 100755
>> --- a/tools/perf/tests/shell/test_arm_coresight.sh
>> +++ b/tools/perf/tests/shell/test_arm_coresight.sh
>> @@ -12,12 +12,12 @@
>>   glb_err=0
>>
>>   cs_etm_dev_name() {
>> -       cs_etm_path=$(find  /sys/bus/event_source/devices/cs_etm/ -name cpu* -print -quit)
>> +       cs_etm_path=$(find  /sys/bus/event_source/devices/cs_etm/ -name 'cpu*' -print -quit)
>>          trcdevarch=$(cat ${cs_etm_path}/mgmt/trcdevarch)
>>          archhver=$((($trcdevarch >> 12) & 0xf))
>>          archpart=$(($trcdevarch & 0xfff))
>>
>> -       if [ $archhver -eq 5 -a "$(printf "0x%X\n" $archpart)" = "0xA13" ] ; then
>> +       if [ $archhver -eq 5 ] && [ "$(printf "0x%X\n" $archpart)" = "0xA13" ] ; then
>>                  echo "ete"
>>          else
>>                  echo "etm"
>> --
>> 2.31.1
>>


  parent reply	other threads:[~2023-10-05  9:44 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-29  4:11 [PATCH 0/3] Fix for shellcheck issues with latest scripts in tests/shell Athira Rajeev
2023-09-29  4:11 ` [PATCH 1/3] perf tests test_arm_coresight: Fix the shellcheck warning in latest test_arm_coresight.sh Athira Rajeev
2023-10-05  5:02   ` Namhyung Kim
2023-10-05  8:19     ` James Clark
2023-10-05  9:36     ` Suzuki K Poulose [this message]
2023-10-12 15:56       ` Athira Rajeev
2023-10-12 16:07         ` Suzuki K Poulose
2023-10-12 16:20           ` Athira Rajeev
2023-10-05  8:20   ` James Clark
2023-10-05  8:54     ` Athira Rajeev
2023-11-06 21:44       ` Arnaldo Carvalho de Melo
2023-11-07  6:38         ` Athira Rajeev
2023-11-08 20:04           ` Arnaldo Carvalho de Melo
2023-10-05 10:15   ` David Laight
2023-10-05 15:45     ` David Laight
2023-10-12 15:47       ` Athira Rajeev
2023-09-29  4:11 ` [PATCH 2/3] tools/perf/tests Ignore the shellcheck SC2046 warning in lock_contentio Athira Rajeev
2023-09-29  4:11 ` [PATCH 3/3] tools/perf/tests: Fix shellcheck warning in record_sideband.sh test Athira Rajeev
2023-10-05  5:04   ` Namhyung Kim
2023-10-05  8:55     ` Athira Rajeev
2023-10-03  7:47 ` [PATCH 0/3] Fix for shellcheck issues with latest scripts in tests/shell kajoljain

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=c59c586e-08ab-df66-7bcd-5249d2481298@arm.com \
    --to=suzuki.poulose@arm.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=atrajeev@linux.vnet.ibm.com \
    --cc=disgoel@linux.vnet.ibm.com \
    --cc=irogers@google.com \
    --cc=james.clark@arm.com \
    --cc=jolsa@kernel.org \
    --cc=kjain@linux.ibm.com \
    --cc=leo.yan@linaro.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=maddy@linux.ibm.com \
    --cc=mike.leach@linaro.org \
    --cc=namhyung@kernel.org \
    --cc=tianruidong@linux.alibaba.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;
as well as URLs for NNTP newsgroup(s).