Lines Matching refs:t
230 struct thread_data *t; in for_all_cpus() local
234 t = GET_THREAD(thread_base, thread_no, core_no, pkg_no); in for_all_cpus()
236 if (cpu_is_not_present(t->cpu_id)) in for_all_cpus()
242 retval = func(t, c, p); in for_all_cpus()
387 int dump_counters(struct thread_data *t, struct core_data *c, in dump_counters() argument
390 outp += sprintf(outp, "t %p, c %p, p %p\n", t, c, p); in dump_counters()
392 if (t) { in dump_counters()
394 t->cpu_id, t->flags); in dump_counters()
395 outp += sprintf(outp, "TSC: %016llX\n", t->tsc); in dump_counters()
396 outp += sprintf(outp, "aperf: %016llX\n", t->aperf); in dump_counters()
397 outp += sprintf(outp, "mperf: %016llX\n", t->mperf); in dump_counters()
398 outp += sprintf(outp, "c1: %016llX\n", t->c1); in dump_counters()
400 extra_delta_offset32, t->extra_delta32); in dump_counters()
402 extra_delta_offset64, t->extra_delta64); in dump_counters()
404 extra_msr_offset32, t->extra_msr32); in dump_counters()
406 extra_msr_offset64, t->extra_msr64); in dump_counters()
408 outp += sprintf(outp, "SMI: %08X\n", t->smi_count); in dump_counters()
456 int format_counters(struct thread_data *t, struct core_data *c, in format_counters() argument
463 if (show_core_only && !(t->flags & CPU_IS_FIRST_THREAD_IN_CORE)) in format_counters()
467 if (show_pkg_only && !(t->flags & CPU_IS_FIRST_CORE_IN_PACKAGE)) in format_counters()
473 if (t == &average.threads) { in format_counters()
494 outp += sprintf(outp, "%8d", t->cpu_id); in format_counters()
500 1.0 / units * t->aperf / interval_float); in format_counters()
505 outp += sprintf(outp, "%8.2f", 100.0 * t->mperf/t->tsc); in format_counters()
513 1.0 * t->tsc / units * t->aperf / t->mperf / interval_float); in format_counters()
516 outp += sprintf(outp, "%8.0f", 1.0 * t->tsc/units/interval_float); in format_counters()
520 outp += sprintf(outp, " %11llu", t->extra_delta32); in format_counters()
524 outp += sprintf(outp, " %11llu", t->extra_delta64); in format_counters()
527 outp += sprintf(outp, " 0x%08llx", t->extra_msr32); in format_counters()
531 outp += sprintf(outp, " 0x%016llx", t->extra_msr64); in format_counters()
538 outp += sprintf(outp, "%8d", t->smi_count); in format_counters()
542 outp += sprintf(outp, "%8.2f", 100.0 * t->c1/t->tsc); in format_counters()
548 if (!(t->flags & CPU_IS_FIRST_THREAD_IN_CORE)) in format_counters()
552 outp += sprintf(outp, "%8.2f", 100.0 * c->c3/t->tsc); in format_counters()
554 outp += sprintf(outp, "%8.2f", 100.0 * c->c6/t->tsc); in format_counters()
556 outp += sprintf(outp, "%8.2f", 100.0 * c->c7/t->tsc); in format_counters()
562 if (!(t->flags & CPU_IS_FIRST_CORE_IN_PACKAGE)) in format_counters()
571 outp += sprintf(outp, "%8.2f", 100.0 * p->pkg_wtd_core_c0/t->tsc); in format_counters()
572 outp += sprintf(outp, "%8.2f", 100.0 * p->pkg_any_core_c0/t->tsc); in format_counters()
573 outp += sprintf(outp, "%8.2f", 100.0 * p->pkg_any_gfxe_c0/t->tsc); in format_counters()
574 outp += sprintf(outp, "%8.2f", 100.0 * p->pkg_both_core_gfxe_c0/t->tsc); in format_counters()
578 outp += sprintf(outp, "%8.2f", 100.0 * p->pc2/t->tsc); in format_counters()
580 outp += sprintf(outp, "%8.2f", 100.0 * p->pc3/t->tsc); in format_counters()
582 outp += sprintf(outp, "%8.2f", 100.0 * p->pc6/t->tsc); in format_counters()
584 outp += sprintf(outp, "%8.2f", 100.0 * p->pc7/t->tsc); in format_counters()
586 outp += sprintf(outp, "%8.2f", 100.0 * p->pc8/t->tsc); in format_counters()
587 outp += sprintf(outp, "%8.2f", 100.0 * p->pc9/t->tsc); in format_counters()
588 outp += sprintf(outp, "%8.2f", 100.0 * p->pc10/t->tsc); in format_counters()
650 void format_all_counters(struct thread_data *t, struct core_data *c, struct pkg_data *p) in format_all_counters() argument
666 for_all_cpus(format_counters, t, c, p); in format_all_counters()
795 int delta_cpu(struct thread_data *t, struct core_data *c, in delta_cpu() argument
800 if (t->flags & CPU_IS_FIRST_THREAD_IN_CORE) in delta_cpu()
804 delta_thread(t, t2, c2); /* c2 is core delta */ in delta_cpu()
807 if (t->flags & CPU_IS_FIRST_CORE_IN_PACKAGE) in delta_cpu()
813 void clear_counters(struct thread_data *t, struct core_data *c, struct pkg_data *p) in clear_counters() argument
815 t->tsc = 0; in clear_counters()
816 t->aperf = 0; in clear_counters()
817 t->mperf = 0; in clear_counters()
818 t->c1 = 0; in clear_counters()
820 t->smi_count = 0; in clear_counters()
821 t->extra_delta32 = 0; in clear_counters()
822 t->extra_delta64 = 0; in clear_counters()
825 t->flags = CPU_IS_FIRST_THREAD_IN_CORE | CPU_IS_FIRST_CORE_IN_PACKAGE; in clear_counters()
856 int sum_counters(struct thread_data *t, struct core_data *c, in sum_counters() argument
859 average.threads.tsc += t->tsc; in sum_counters()
860 average.threads.aperf += t->aperf; in sum_counters()
861 average.threads.mperf += t->mperf; in sum_counters()
862 average.threads.c1 += t->c1; in sum_counters()
864 average.threads.extra_delta32 += t->extra_delta32; in sum_counters()
865 average.threads.extra_delta64 += t->extra_delta64; in sum_counters()
868 if (!(t->flags & CPU_IS_FIRST_THREAD_IN_CORE)) in sum_counters()
878 if (!(t->flags & CPU_IS_FIRST_CORE_IN_PACKAGE)) in sum_counters()
914 void compute_average(struct thread_data *t, struct core_data *c, in compute_average() argument
919 for_all_cpus(sum_counters, t, c, p); in compute_average()
970 int get_counters(struct thread_data *t, struct core_data *c, struct pkg_data *p) in get_counters() argument
972 int cpu = t->cpu_id; in get_counters()
980 t->tsc = rdtsc(); /* we are running on local CPU of interest */ in get_counters()
983 if (get_msr(cpu, MSR_IA32_APERF, &t->aperf)) in get_counters()
985 if (get_msr(cpu, MSR_IA32_MPERF, &t->mperf)) in get_counters()
992 t->smi_count = msr & 0xFFFFFFFF; in get_counters()
997 t->extra_delta32 = msr & 0xFFFFFFFF; in get_counters()
1001 if (get_msr(cpu, extra_delta_offset64, &t->extra_delta64)) in get_counters()
1007 t->extra_msr32 = msr & 0xFFFFFFFF; in get_counters()
1011 if (get_msr(cpu, extra_msr_offset64, &t->extra_msr64)) in get_counters()
1015 if (get_msr(cpu, MSR_CORE_C1_RES, &t->c1)) in get_counters()
1020 if (!(t->flags & CPU_IS_FIRST_THREAD_IN_CORE)) in get_counters()
1048 if (!(t->flags & CPU_IS_FIRST_CORE_IN_PACKAGE)) in get_counters()
1555 struct thread_data *t, *t2; in for_all_cpus_2() local
1559 t = GET_THREAD(thread_base, thread_no, core_no, pkg_no); in for_all_cpus_2()
1561 if (cpu_is_not_present(t->cpu_id)) in for_all_cpus_2()
1572 retval = func(t, c, p, t2, c2, p2); in for_all_cpus_2()
1904 int print_epb(struct thread_data *t, struct core_data *c, struct pkg_data *p) in print_epb() argument
1913 cpu = t->cpu_id; in print_epb()
1916 if (!(t->flags & CPU_IS_FIRST_THREAD_IN_CORE) || !(t->flags & CPU_IS_FIRST_CORE_IN_PACKAGE)) in print_epb()
1949 int print_perf_limit(struct thread_data *t, struct core_data *c, struct pkg_data *p) in print_perf_limit() argument
1954 cpu = t->cpu_id; in print_perf_limit()
1957 if (!(t->flags & CPU_IS_FIRST_THREAD_IN_CORE) || !(t->flags & CPU_IS_FIRST_CORE_IN_PACKAGE)) in print_perf_limit()
2181 int print_thermal(struct thread_data *t, struct core_data *c, struct pkg_data *p) in print_thermal() argument
2190 cpu = t->cpu_id; in print_thermal()
2193 if (!(t->flags & CPU_IS_FIRST_THREAD_IN_CORE)) in print_thermal()
2201 if (do_ptm && (t->flags & CPU_IS_FIRST_CORE_IN_PACKAGE)) { in print_thermal()
2258 int print_rapl(struct thread_data *t, struct core_data *c, struct pkg_data *p) in print_rapl() argument
2267 if (!(t->flags & CPU_IS_FIRST_THREAD_IN_CORE) || !(t->flags & CPU_IS_FIRST_CORE_IN_PACKAGE)) in print_rapl()
2270 cpu = t->cpu_id; in print_rapl()
2516 int set_temperature_target(struct thread_data *t, struct core_data *c, struct pkg_data *p) in set_temperature_target() argument
2527 if (!(t->flags & CPU_IS_FIRST_THREAD_IN_CORE) || !(t->flags & CPU_IS_FIRST_CORE_IN_PACKAGE)) in set_temperature_target()
2530 cpu = t->cpu_id; in set_temperature_target()
2825 allocate_counters(struct thread_data **t, struct core_data **c, struct pkg_data **p) in allocate_counters() argument
2829 *t = calloc(topo.num_threads_per_core * topo.num_cores_per_pkg * in allocate_counters()
2831 if (*t == NULL) in allocate_counters()
2836 (*t)[i].cpu_id = -1; in allocate_counters()
2869 struct thread_data *t; in init_counter() local
2873 t = GET_THREAD(thread_base, thread_num, core_num, pkg_num); in init_counter()
2877 t->cpu_id = cpu_id; in init_counter()
2879 t->flags |= CPU_IS_FIRST_THREAD_IN_CORE; in init_counter()
2881 t->flags |= CPU_IS_FIRST_CORE_IN_PACKAGE; in init_counter()