From: Igor Mammedov <imammedo@redhat.com>
To: Babu Moger <babu.moger@amd.com>
Cc: "Daniel P. Berrangé" <berrange@redhat.com>,
ehabkost@redhat.com, mst@redhat.com,
"Michal Privoznik" <mprivozn@redhat.com>,
qemu-devel@nongnu.org, pbonzini@redhat.com, rth@twiddle.net
Subject: Re: [PATCH v5 0/8] Remove EPYC mode apicid decode and use generic decode
Date: Wed, 26 Aug 2020 14:38:49 +0200 [thread overview]
Message-ID: <20200826143849.59f6970b@redhat.com> (raw)
In-Reply-To: <159804762216.39954.15502128500494116468.stgit@naples-babu.amd.com>
On Fri, 21 Aug 2020 17:12:19 -0500
Babu Moger <babu.moger@amd.com> wrote:
> To support some of the complex topology, we introduced EPYC mode apicid decode.
> But, EPYC mode decode is running into problems. Also it can become quite a
> maintenance problem in the future. So, it was decided to remove that code and
> use the generic decode which works for majority of the topology. Most of the
> SPECed configuration would work just fine. With some non-SPECed user inputs,
> it will create some sub-optimal configuration.
> Here is the discussion thread.
> https://lore.kernel.org/qemu-devel/c0bcc1a6-1d84-a6e7-e468-d5b437c1b254@amd.com/
>
> This series removes all the EPYC mode specific apicid changes and use the generic
> apicid decode.
the main difference between EPYC and all other CPUs is that
it requires numa configuration (it's not optional)
so we need an extra patch on top of this series to enfoce that, i.e:
if (epyc && !numa)
error("EPYC cpu requires numa to be configured")
I think there was a patch in previous revisions that aimed for this.
Simplest form would be above snippet.
More complex one, would be moving auto_enable_numa from MachineClass to
MachineState so we can change it at runtime if EPYC is used. That should
take care of use case where user hasn't provided -numa.
Eduardo,
is there any way to tell managment that particular CPU type requires
-numa ?
> ---
> v5:
> Revert EPYC specific decode.
> Simplify CPUID_8000_001E
>
> v4:
> https://lore.kernel.org/qemu-devel/159744083536.39197.13827776633866601278.stgit@naples-babu.amd.com/
> Not much of a change. Just added few text changes.
> Error out configuration instead of warning if dies are not configured in EPYC.
> Few other text changes to clarify the removal of node_id, nr_nodes and nodes_per_pkg.
>
> v3:
> https://lore.kernel.org/qemu-devel/159681772267.9679.1334429994189974662.stgit@naples-babu.amd.com/#r
> Added a new check to pass the dies for EPYC numa configuration.
> Added Simplify CPUID_8000_001E patch with some changes suggested by Igor.
> Dropped the patch to build the topology from CpuInstanceProperties.
> TODO: Not sure if we still need the Autonuma changes Igor mentioned.
> Needs more clarity on that.
>
> v2:
> https://lore.kernel.org/qemu-devel/159362436285.36204.986406297373871949.stgit@naples-babu.amd.com/
> Used the numa information from CpuInstanceProperties for building
> the apic_id suggested by Igor.
> Also did some minor code re-aarangement to take care of changes.
> Dropped the patch "Simplify CPUID_8000_001E" from v1. Will send
> it later.
>
> v1:
> https://lore.kernel.org/qemu-devel/159164739269.20543.3074052993891532749.stgit@naples-babu.amd.com
>
> Babu Moger (8):
> hw/i386: Remove node_id, nr_nodes and nodes_per_pkg from topology
> Revert "i386: Fix pkg_id offset for EPYC cpu models"
> Revert "target/i386: Enable new apic id encoding for EPYC based cpus models"
> Revert "hw/i386: Move arch_id decode inside x86_cpus_init"
> Revert "i386: Introduce use_epyc_apic_id_encoding in X86CPUDefinition"
> Revert "hw/i386: Introduce apicid functions inside X86MachineState"
> Revert "hw/386: Add EPYC mode topology decoding functions"
> i386: Simplify CPUID_8000_001E for AMD
>
>
> hw/i386/pc.c | 8 +--
> hw/i386/x86.c | 43 +++-------------
> include/hw/i386/topology.h | 101 ---------------------------------------
> include/hw/i386/x86.h | 9 ---
> target/i386/cpu.c | 115 ++++++++++++++++----------------------------
> target/i386/cpu.h | 3 -
> tests/test-x86-cpuid.c | 40 ++++++++-------
> 7 files changed, 73 insertions(+), 246 deletions(-)
>
> --
> Signature
>
next prev parent reply other threads:[~2020-08-26 12:42 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-21 22:12 [PATCH v5 0/8] Remove EPYC mode apicid decode and use generic decode Babu Moger
2020-08-21 22:12 ` [PATCH v5 1/8] hw/i386: Remove node_id, nr_nodes and nodes_per_pkg from topology Babu Moger
2020-08-26 9:57 ` Igor Mammedov
2020-08-26 17:31 ` Babu Moger
2020-08-21 22:12 ` [PATCH v5 2/8] Revert "i386: Fix pkg_id offset for EPYC cpu models" Babu Moger
2020-08-21 22:12 ` [PATCH v5 3/8] Revert "target/i386: Enable new apic id encoding for EPYC based cpus models" Babu Moger
2020-08-21 22:12 ` [PATCH v5 4/8] Revert "hw/i386: Move arch_id decode inside x86_cpus_init" Babu Moger
2020-08-21 22:12 ` [PATCH v5 5/8] Revert "i386: Introduce use_epyc_apic_id_encoding in X86CPUDefinition" Babu Moger
2020-08-21 22:12 ` [PATCH v5 6/8] Revert "hw/i386: Introduce apicid functions inside X86MachineState" Babu Moger
2020-08-21 22:13 ` [PATCH v5 7/8] Revert "hw/386: Add EPYC mode topology decoding functions" Babu Moger
2020-08-28 17:27 ` Eduardo Habkost
2020-08-28 18:03 ` Babu Moger
2020-08-21 22:13 ` [PATCH v5 8/8] i386: Simplify CPUID_8000_001E for AMD Babu Moger
2020-08-26 12:19 ` Igor Mammedov
2020-08-24 18:41 ` [PATCH v5 0/8] Remove EPYC mode apicid decode and use generic decode Dr. David Alan Gilbert
2020-08-24 19:20 ` Babu Moger
2020-08-25 8:15 ` Dr. David Alan Gilbert
2020-08-25 14:38 ` Igor Mammedov
2020-08-25 15:25 ` Dr. David Alan Gilbert
2020-08-26 12:43 ` Igor Mammedov
2020-08-26 14:10 ` Dr. David Alan Gilbert
2020-08-27 21:19 ` Igor Mammedov
2020-08-27 22:58 ` Babu Moger
2020-08-28 8:42 ` Igor Mammedov
2020-08-28 14:22 ` Babu Moger
2020-08-28 8:48 ` Dr. David Alan Gilbert
2020-08-28 11:36 ` Igor Mammedov
2020-08-26 12:38 ` Igor Mammedov [this message]
2020-08-26 12:50 ` Daniel P. Berrangé
2020-08-26 13:30 ` Igor Mammedov
2020-08-26 13:36 ` Daniel P. Berrangé
2020-08-26 14:02 ` Igor Mammedov
2020-08-26 15:03 ` Daniel P. Berrangé
2020-08-26 15:18 ` Eduardo Habkost
2020-08-27 17:03 ` Igor Mammedov
2020-08-27 19:07 ` Eduardo Habkost
2020-08-27 20:55 ` Igor Mammedov
2020-08-28 8:55 ` Daniel P. Berrangé
2020-08-28 16:29 ` Eduardo Habkost
2020-08-28 16:32 ` Daniel P. Berrangé
2020-08-28 16:45 ` Eduardo Habkost
2020-08-28 18:00 ` Babu Moger
2020-08-26 17:17 ` Babu Moger
2020-08-26 18:33 ` Dr. David Alan Gilbert
2020-08-26 18:45 ` Babu Moger
2020-08-27 20:21 ` Igor Mammedov
2020-08-28 8:58 ` Daniel P. Berrangé
2020-08-28 11:24 ` Igor Mammedov
2020-08-28 14:17 ` Babu Moger
2020-08-28 14:48 ` Igor Mammedov
2020-08-26 14:04 ` Eduardo Habkost
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200826143849.59f6970b@redhat.com \
--to=imammedo@redhat.com \
--cc=babu.moger@amd.com \
--cc=berrange@redhat.com \
--cc=ehabkost@redhat.com \
--cc=mprivozn@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).