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]
Message-ID: <20171121151740.GG20440@krava>
Date:   Tue, 21 Nov 2017 16:17:40 +0100
From:   Jiri Olsa <jolsa@...hat.com>
To:     Jin Yao <yao.jin@...ux.intel.com>
Cc:     acme@...nel.org, jolsa@...nel.org, peterz@...radead.org,
        mingo@...hat.com, alexander.shishkin@...ux.intel.com,
        Linux-kernel@...r.kernel.org, ak@...ux.intel.com,
        kan.liang@...el.com, yao.jin@...el.com
Subject: Re: [PATCH v1 5/9] perf util: Remove a set of shadow stats static
 variables

On Mon, Nov 20, 2017 at 10:43:40PM +0800, Jin Yao wrote:
> In previous patches, we have reconstructed the code and let
> it not access the static variables directly.
> 
> This patch removes these static variables.
> 
> Signed-off-by: Jin Yao <yao.jin@...ux.intel.com>
> ---
>  tools/perf/util/stat-shadow.c | 64 ++++++++++---------------------------------
>  tools/perf/util/stat.h        |  1 +
>  2 files changed, 16 insertions(+), 49 deletions(-)
> 
> diff --git a/tools/perf/util/stat-shadow.c b/tools/perf/util/stat-shadow.c
> index 6f28782..74bcc4d 100644
> --- a/tools/perf/util/stat-shadow.c
> +++ b/tools/perf/util/stat-shadow.c
> @@ -16,28 +16,6 @@
>   * AGGR_NONE: Use matching CPU
>   * AGGR_THREAD: Not supported?
>   */
> -static struct stats runtime_nsecs_stats[MAX_NR_CPUS];
> -static struct stats runtime_cycles_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_stalled_cycles_front_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_stalled_cycles_back_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_branches_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_cacherefs_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_l1_dcache_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_l1_icache_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_ll_cache_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_itlb_cache_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_dtlb_cache_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_cycles_in_tx_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_transaction_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_elision_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_topdown_total_slots[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_topdown_slots_issued[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_topdown_slots_retired[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_topdown_fetch_bubbles[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_topdown_recovery_bubbles[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_smi_num_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct stats runtime_aperf_stats[NUM_CTX][MAX_NR_CPUS];
> -static struct rblist runtime_saved_values;
>  static bool have_frontend_stalled;

all this is about switching from array to rb_list for the --per-thread case,
which can be considered as a special use case.. how much do we suffer in
performance with new code? how about the "perf stat -I 100", would it scale
ok for extreme cases (many events in -e or -dddd..)

jirka

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ