Re: [PATCH 2/2] perf annotate: Add fusion logic for AMD microarchs
From: Ravi Bangoria <hidden>
Date: 2021-09-10 11:17:56
Also in:
lkml
From: Ravi Bangoria <hidden>
Date: 2021-09-10 11:17:56
Also in:
lkml
quoted
+static bool x86__ins_is_fused(struct arch *arch, const char *ins1, + const char *ins2) +{ + if (strstarts(arch->vendor, "AuthenticAMD")) + return amd__ins_is_fused(arch, ins1, ins2); + + return intel__ins_is_fused(arch, ins1, ins2); +} +Can we instead make x86__ins_is_fused be a pointer and instead of storing arch->vendor we set it to one of amd__ins_is_fused() or intel__ins_is_fused()? I.e. here:quoted
static int x86__cpuid_parse(struct arch *arch, char *cpuid) { unsigned int family, model, stepping;@@ -184,6 +216,9 @@ static int x86__cpuid_parse(struct arch *arch, char *cpuid) if (ret == 3) { arch->family = family; arch->model = model; + arch->vendor = strndup(cpuid, 12);x86__ins_is_fused = strstarts(cpuid, "AuthenticAMD") ? amd__ins_is_fused : intel__ins_is_fused;
Sure. Will post v2. Thanks for the review Arnaldo, Ravi