lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 13 Mar 2023 08:21:56 -0700
From:   Ian Rogers <irogers@...gle.com>
To:     Thomas Richter <tmricht@...ux.ibm.com>
Cc:     linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org,
        acme@...nel.org, sumanthk@...ux.ibm.com, svens@...ux.ibm.com,
        gor@...ux.ibm.com, hca@...ux.ibm.com
Subject: Re: [PATCH 1/6] tools/perf/json: Add common metrics for s390

On Mon, Mar 13, 2023 at 1:06 AM Thomas Richter <tmricht@...ux.ibm.com> wrote:
>
> Add 3 metrics for s390 machines:
> - Cycles per instruction: Amount of CPU cycles used per instructions,
>   named cpi.
> - Problem state ratio: Ratio of instructions executed in problem state
>   compared to total number of instructions, named prbstate.
> - Level one instruction and data cache misses per 100 instructions,
>   named l1mp.
>
> For details about the formulas see this documentation:
> https://www.ibm.com/support/pages/system/files/inline-files/CPU%20MF%20Formulas%20including%20z16%20-%20May%202022_1.pdf
>
> Outpuf after:
>  # ./perf stat -M cpi -- dd if=/dev/zero of=/dev/null bs=1M count=10K
>  10240+0 records in
>  10240+0 records out
>  10737418240 bytes (11 GB, 10 GiB) copied, 1.30151 s, 8.2 GB/s
>
> Performance counter stats for 'dd if=/dev/zero of=/dev/null .....':
>
>   6,779,778,802      CPU_CYCLES              #     1.96 cpi
>   3,461,975,090      INSTRUCTIONS
>
>   1.306873021 seconds time elapsed
>
>   0.001034000 seconds user
>   1.305677000 seconds sys
>  #
>
> Signed-off-by: Thomas Richter <tmricht@...ux.ibm.com>
> Acked-By: Sumanth Korikkar <sumanthk@...ux.ibm.com>

Acked-by: Ian Rogers <irogers@...gle.com>

Thanks,
Ian

> ---
>  .../pmu-events/arch/s390/cf_z13/transaction.json  | 15 +++++++++++++++
>  .../pmu-events/arch/s390/cf_z14/transaction.json  | 15 +++++++++++++++
>  .../pmu-events/arch/s390/cf_z15/transaction.json  | 15 +++++++++++++++
>  .../pmu-events/arch/s390/cf_z16/transaction.json  | 15 +++++++++++++++
>  4 files changed, 60 insertions(+)
>
> diff --git a/tools/perf/pmu-events/arch/s390/cf_z13/transaction.json b/tools/perf/pmu-events/arch/s390/cf_z13/transaction.json
> index 1a0034f79f73..86bf83b4504e 100644
> --- a/tools/perf/pmu-events/arch/s390/cf_z13/transaction.json
> +++ b/tools/perf/pmu-events/arch/s390/cf_z13/transaction.json
> @@ -3,5 +3,20 @@
>      "BriefDescription": "Transaction count",
>      "MetricName": "transaction",
>      "MetricExpr": "TX_C_TEND + TX_NC_TEND + TX_NC_TABORT + TX_C_TABORT_SPECIAL + TX_C_TABORT_NO_SPECIAL"
> +  },
> +  {
> +    "BriefDescription": "Cycles per Instruction",
> +    "MetricName": "cpi",
> +    "MetricExpr": "CPU_CYCLES / INSTRUCTIONS"
> +  },
> +  {
> +    "BriefDescription": "Problem State Instruction Ratio",
> +    "MetricName": "prbstate",
> +    "MetricExpr": "(PROBLEM_STATE_INSTRUCTIONS / INSTRUCTIONS) * 100"
> +  },
> +  {
> +    "BriefDescription": "Level One Miss per 100 Instructions",
> +    "MetricName": "l1mp",
> +    "MetricExpr": "((L1I_DIR_WRITES + L1D_DIR_WRITES) / INSTRUCTIONS) * 100"
>    }
>  ]
> diff --git a/tools/perf/pmu-events/arch/s390/cf_z14/transaction.json b/tools/perf/pmu-events/arch/s390/cf_z14/transaction.json
> index 1a0034f79f73..86bf83b4504e 100644
> --- a/tools/perf/pmu-events/arch/s390/cf_z14/transaction.json
> +++ b/tools/perf/pmu-events/arch/s390/cf_z14/transaction.json
> @@ -3,5 +3,20 @@
>      "BriefDescription": "Transaction count",
>      "MetricName": "transaction",
>      "MetricExpr": "TX_C_TEND + TX_NC_TEND + TX_NC_TABORT + TX_C_TABORT_SPECIAL + TX_C_TABORT_NO_SPECIAL"
> +  },
> +  {
> +    "BriefDescription": "Cycles per Instruction",
> +    "MetricName": "cpi",
> +    "MetricExpr": "CPU_CYCLES / INSTRUCTIONS"
> +  },
> +  {
> +    "BriefDescription": "Problem State Instruction Ratio",
> +    "MetricName": "prbstate",
> +    "MetricExpr": "(PROBLEM_STATE_INSTRUCTIONS / INSTRUCTIONS) * 100"
> +  },
> +  {
> +    "BriefDescription": "Level One Miss per 100 Instructions",
> +    "MetricName": "l1mp",
> +    "MetricExpr": "((L1I_DIR_WRITES + L1D_DIR_WRITES) / INSTRUCTIONS) * 100"
>    }
>  ]
> diff --git a/tools/perf/pmu-events/arch/s390/cf_z15/transaction.json b/tools/perf/pmu-events/arch/s390/cf_z15/transaction.json
> index 1a0034f79f73..86bf83b4504e 100644
> --- a/tools/perf/pmu-events/arch/s390/cf_z15/transaction.json
> +++ b/tools/perf/pmu-events/arch/s390/cf_z15/transaction.json
> @@ -3,5 +3,20 @@
>      "BriefDescription": "Transaction count",
>      "MetricName": "transaction",
>      "MetricExpr": "TX_C_TEND + TX_NC_TEND + TX_NC_TABORT + TX_C_TABORT_SPECIAL + TX_C_TABORT_NO_SPECIAL"
> +  },
> +  {
> +    "BriefDescription": "Cycles per Instruction",
> +    "MetricName": "cpi",
> +    "MetricExpr": "CPU_CYCLES / INSTRUCTIONS"
> +  },
> +  {
> +    "BriefDescription": "Problem State Instruction Ratio",
> +    "MetricName": "prbstate",
> +    "MetricExpr": "(PROBLEM_STATE_INSTRUCTIONS / INSTRUCTIONS) * 100"
> +  },
> +  {
> +    "BriefDescription": "Level One Miss per 100 Instructions",
> +    "MetricName": "l1mp",
> +    "MetricExpr": "((L1I_DIR_WRITES + L1D_DIR_WRITES) / INSTRUCTIONS) * 100"
>    }
>  ]
> diff --git a/tools/perf/pmu-events/arch/s390/cf_z16/transaction.json b/tools/perf/pmu-events/arch/s390/cf_z16/transaction.json
> index 1a0034f79f73..86bf83b4504e 100644
> --- a/tools/perf/pmu-events/arch/s390/cf_z16/transaction.json
> +++ b/tools/perf/pmu-events/arch/s390/cf_z16/transaction.json
> @@ -3,5 +3,20 @@
>      "BriefDescription": "Transaction count",
>      "MetricName": "transaction",
>      "MetricExpr": "TX_C_TEND + TX_NC_TEND + TX_NC_TABORT + TX_C_TABORT_SPECIAL + TX_C_TABORT_NO_SPECIAL"
> +  },
> +  {
> +    "BriefDescription": "Cycles per Instruction",
> +    "MetricName": "cpi",
> +    "MetricExpr": "CPU_CYCLES / INSTRUCTIONS"
> +  },
> +  {
> +    "BriefDescription": "Problem State Instruction Ratio",
> +    "MetricName": "prbstate",
> +    "MetricExpr": "(PROBLEM_STATE_INSTRUCTIONS / INSTRUCTIONS) * 100"
> +  },
> +  {
> +    "BriefDescription": "Level One Miss per 100 Instructions",
> +    "MetricName": "l1mp",
> +    "MetricExpr": "((L1I_DIR_WRITES + L1D_DIR_WRITES) / INSTRUCTIONS) * 100"
>    }
>  ]
> --
> 2.39.1
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ