From nobody Mon Feb 9 09:09:21 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1503563046263300.80802891040184; Thu, 24 Aug 2017 01:24:06 -0700 (PDT) Received: from localhost ([::1]:47188 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dknQr-00012U-4L for importer@patchew.org; Thu, 24 Aug 2017 04:24:05 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60427) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dknOu-0008HU-48 for qemu-devel@nongnu.org; Thu, 24 Aug 2017 04:22:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dknOt-0006kH-4I for qemu-devel@nongnu.org; Thu, 24 Aug 2017 04:22:04 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56084) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dknOs-0006iu-RW; Thu, 24 Aug 2017 04:22:03 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D6CCE4E4D3; Thu, 24 Aug 2017 08:22:01 +0000 (UTC) Received: from dell-r430-03.lab.eng.brq.redhat.com (dell-r430-03.lab.eng.brq.redhat.com [10.34.112.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id DAA8469AFD; Thu, 24 Aug 2017 08:22:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com D6CCE4E4D3 Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=imammedo@redhat.com From: Igor Mammedov To: qemu-devel@nongnu.org Date: Thu, 24 Aug 2017 10:21:51 +0200 Message-Id: <1503562911-2776-7-git-send-email-imammedo@redhat.com> In-Reply-To: <1503562911-2776-1-git-send-email-imammedo@redhat.com> References: <1503562911-2776-1-git-send-email-imammedo@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 24 Aug 2017 08:22:02 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH for-2.11 6/6] ppc: drop caching ObjectClass from PowerPCCPUAlias X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-ppc@nongnu.org, Alexander Graf , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Caching there practically doesn't give any benefits and that at slow path druring querying supported CPU list. But it introduces non conventional path of where from comes used CPU type name (kvm_ppc_register_host_cpu_type). Taking in account that kvm_ppc_register_host_cpu_type() fixes up models the aliases point to, it's sufficient to make ppc_cpu_class_by_name() translate cpu alias to correct cpu type name. So drop PowerPCCPUAlias::oc field + ppc_cpu_class_by_alias() and let ppc_cpu_class_by_name() do conversion to cpu type name, which simplifies code a little bit saving ~20LOC and trouble wondering why ppc_cpu_class_by_alias() is necessary. Signed-off-by: Igor Mammedov --- target/ppc/cpu-models.h | 1 - target/ppc/kvm.c | 1 - target/ppc/translate_init.c | 26 ++------------------------ 3 files changed, 2 insertions(+), 26 deletions(-) diff --git a/target/ppc/cpu-models.h b/target/ppc/cpu-models.h index d748c68..e9c6015 100644 --- a/target/ppc/cpu-models.h +++ b/target/ppc/cpu-models.h @@ -31,7 +31,6 @@ typedef struct PowerPCCPUAlias { const char *alias; const char *model; - ObjectClass *oc; } PowerPCCPUAlias; =20 extern PowerPCCPUAlias ppc_cpu_aliases[]; diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c index 3f21190..995c2da 100644 --- a/target/ppc/kvm.c +++ b/target/ppc/kvm.c @@ -2488,7 +2488,6 @@ static int kvm_ppc_register_host_cpu_type(void) if (suffix) { *suffix =3D 0; } - ppc_cpu_aliases[i].oc =3D oc; break; } } diff --git a/target/ppc/translate_init.c b/target/ppc/translate_init.c index ca9f1e3..c06f34b 100644 --- a/target/ppc/translate_init.c +++ b/target/ppc/translate_init.c @@ -10177,28 +10177,6 @@ PowerPCCPUClass *ppc_cpu_class_by_pvr_mask(uint32_= t pvr) return pcc; } =20 -static ObjectClass *ppc_cpu_class_by_name(const char *name); - -static ObjectClass *ppc_cpu_class_by_alias(PowerPCCPUAlias *alias) -{ - ObjectClass *invalid_class =3D (void*)ppc_cpu_class_by_alias; - - /* Cache target class lookups in the alias table */ - if (!alias->oc) { - alias->oc =3D ppc_cpu_class_by_name(alias->model); - if (!alias->oc) { - /* Fast check for non-existing aliases */ - alias->oc =3D invalid_class; - } - } - - if (alias->oc =3D=3D invalid_class) { - return NULL; - } else { - return alias->oc; - } -} - static ObjectClass *ppc_cpu_class_by_name(const char *name) { char *cpu_model, *typename; @@ -10310,7 +10288,7 @@ static void ppc_cpu_list_entry(gpointer data, gpoin= ter user_data) name, pcc->pvr); for (i =3D 0; ppc_cpu_aliases[i].alias !=3D NULL; i++) { PowerPCCPUAlias *alias =3D &ppc_cpu_aliases[i]; - ObjectClass *alias_oc =3D ppc_cpu_class_by_alias(alias); + ObjectClass *alias_oc =3D ppc_cpu_class_by_name(alias->model); =20 if (alias_oc !=3D oc) { continue; @@ -10390,7 +10368,7 @@ CpuDefinitionInfoList *arch_query_cpu_definitions(E= rror **errp) CpuDefinitionInfoList *entry; CpuDefinitionInfo *info; =20 - oc =3D ppc_cpu_class_by_alias(alias); + oc =3D ppc_cpu_class_by_name(alias->model); if (oc =3D=3D NULL) { continue; } --=20 2.7.4