linux/tools/perf/arch/powerpc/util/event.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2#include <linux/types.h>
   3#include <linux/string.h>
   4#include <linux/zalloc.h>
   5
   6#include "../../../util/event.h"
   7#include "../../../util/synthetic-events.h"
   8#include "../../../util/machine.h"
   9#include "../../../util/tool.h"
  10#include "../../../util/map.h"
  11#include "../../../util/debug.h"
  12
  13void arch_perf_parse_sample_weight(struct perf_sample *data,
  14                                   const __u64 *array, u64 type)
  15{
  16        union perf_sample_weight weight;
  17
  18        weight.full = *array;
  19        if (type & PERF_SAMPLE_WEIGHT)
  20                data->weight = weight.full;
  21        else {
  22                data->weight = weight.var1_dw;
  23                data->ins_lat = weight.var2_w;
  24                data->p_stage_cyc = weight.var3_w;
  25        }
  26}
  27
  28void arch_perf_synthesize_sample_weight(const struct perf_sample *data,
  29                                        __u64 *array, u64 type)
  30{
  31        *array = data->weight;
  32
  33        if (type & PERF_SAMPLE_WEIGHT_STRUCT) {
  34                *array &= 0xffffffff;
  35                *array |= ((u64)data->ins_lat << 32);
  36        }
  37}
  38
  39const char *arch_perf_header_entry(const char *se_header)
  40{
  41        if (!strcmp(se_header, "Local INSTR Latency"))
  42                return "Finish Cyc";
  43        else if (!strcmp(se_header, "Pipeline Stage Cycle"))
  44                return "Dispatch Cyc";
  45        return se_header;
  46}
  47
  48int arch_support_sort_key(const char *sort_key)
  49{
  50        if (!strcmp(sort_key, "p_stage_cyc"))
  51                return 1;
  52        return 0;
  53}
  54
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.