From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Pavel Hrdina <phrdina@redhat.com>
Cc: Pu Wen <puwen@hygon.cn>,
pbonzini@redhat.com, mst@redhat.com, qemu-devel@nongnu.org,
ehabkost@redhat.com, rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH v3] i386: Add new Hygon 'Dhyana' CPU model
Date: Thu, 18 Apr 2019 09:48:25 +0100 [thread overview]
Message-ID: <20190418084825.GC13773@redhat.com> (raw)
In-Reply-To: <20190417192610.GC19065@antique-laptop>
On Wed, Apr 17, 2019 at 09:26:10PM +0200, Pavel Hrdina wrote:
> On Wed, Apr 17, 2019 at 10:53:04PM +0800, Pu Wen wrote:
> > On 2019/4/16 22:17, Pavel Hrdina wrote:
> > > On Tue, Apr 16, 2019 at 08:06:13PM +0800, Pu Wen wrote:
> > > > Add a new base CPU model called 'Dhyana' to model processors from Hygon
> > > > Dhyana(family 18h), which derived from AMD EPYC(family 17h).
> > > >
> > > > The following features bits have been removed compare to AMD EPYC:
> > > > aes, pclmulqdq, sha_ni
> > > >
> > > > The Hygon Dhyana support to KVM in Linux is already accepted upstream[1].
> > > > So add Hygon Dhyana support to Qemu is necessary to create Hygon's own
> > > > CPU model.
> > >
> > > I have once question that we will have to solve for EPYC CPUs as well.
> > > The name should not be based on the Product name or Model name as that
> > > usually doesn't change with introduction of new microarchitecture.
> > >
> > > With EPYC we made a mistake to name the CPU like that, luckily with
> > > Intel we already use the microarchitecture name, so the EPYC CPU should
> > > have been named ZEN-Server and for Ryzen CPUs there should be ZEN-Client
> > > if there is any difference or otherwise we can simply use ZEN.
> > >
> > > The issue here is what happens once the ZEN2 microarchitecture is out
> > > wihch introduces new features and we will have to come up with a CPU
> > > name.
> > >
> > > Obviously we cannot change/remove the EPYC models so the question is
> > > what is the difference between the AMD EPYC CPU and this new Dhyana CPU
> > > if they are both based on the ZEN microarchitecture?
> >
> > Right now there's no much difference between Dhyana and EPYC from the
> > software's view. Dhyana removed the instructions aes, pclmulqdq, sha_ni
> > compared to EPYC, but will have it's own implementation such as for aes in
> > future CPU models. Hygon also will implement something different from AMD in
> > the future.
> >
> > > In addition is there any way how we can introduce ZEN-Server &
> > > ZEN-Client or simply ZEN, if there is no difference, as an alias or a
> > > new model next to the EPYC?
> >
> > Also as Eduardo mentioned that there's no CPU model alias or inheritance
> > system in x86, so I think it's worthwhile to keep a separate CPU model for
> > Hygon.
>
> So what happens once Zen2 is out and there are new Dhyana CPUs based on
> the Zen2 microarchitecture with some new features, what CPU models we
> will introduce, EPYC-G2 and Dhyana-G2, but that will not correspond to
> the CPU model anymore.
>
> My idea was that we should probably introduce CPU model Zen-Server which
> could cover both EPYC and Dhyana as they are both based on the Zen
> microarchitecture. The fact that Dhyana doesn't support all the
> features is not an issue as QEMU will not use them if they are not
> available on the host.
I don't think this is a good idea. AFAICT, Dhyana and EPYC should not be
thought of as the same microarchitecture. Dhyana is a fork of the Zen
microarchitecture as illustrated by the dropping of a number of CPU
features. The Dhyana SEV patches show that it has had other significant
changes, which are likely to require extra work in QEMU to support too.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
WARNING: multiple messages have this Message-ID (diff)
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Pavel Hrdina <phrdina@redhat.com>
Cc: ehabkost@redhat.com, mst@redhat.com, Pu Wen <puwen@hygon.cn>,
qemu-devel@nongnu.org, pbonzini@redhat.com, rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH v3] i386: Add new Hygon 'Dhyana' CPU model
Date: Thu, 18 Apr 2019 09:48:25 +0100 [thread overview]
Message-ID: <20190418084825.GC13773@redhat.com> (raw)
Message-ID: <20190418084825.Afm4q3g-3pRyF2PzF5EMeejc4cftCpTgUyKy_zhkD3s@z> (raw)
In-Reply-To: <20190417192610.GC19065@antique-laptop>
On Wed, Apr 17, 2019 at 09:26:10PM +0200, Pavel Hrdina wrote:
> On Wed, Apr 17, 2019 at 10:53:04PM +0800, Pu Wen wrote:
> > On 2019/4/16 22:17, Pavel Hrdina wrote:
> > > On Tue, Apr 16, 2019 at 08:06:13PM +0800, Pu Wen wrote:
> > > > Add a new base CPU model called 'Dhyana' to model processors from Hygon
> > > > Dhyana(family 18h), which derived from AMD EPYC(family 17h).
> > > >
> > > > The following features bits have been removed compare to AMD EPYC:
> > > > aes, pclmulqdq, sha_ni
> > > >
> > > > The Hygon Dhyana support to KVM in Linux is already accepted upstream[1].
> > > > So add Hygon Dhyana support to Qemu is necessary to create Hygon's own
> > > > CPU model.
> > >
> > > I have once question that we will have to solve for EPYC CPUs as well.
> > > The name should not be based on the Product name or Model name as that
> > > usually doesn't change with introduction of new microarchitecture.
> > >
> > > With EPYC we made a mistake to name the CPU like that, luckily with
> > > Intel we already use the microarchitecture name, so the EPYC CPU should
> > > have been named ZEN-Server and for Ryzen CPUs there should be ZEN-Client
> > > if there is any difference or otherwise we can simply use ZEN.
> > >
> > > The issue here is what happens once the ZEN2 microarchitecture is out
> > > wihch introduces new features and we will have to come up with a CPU
> > > name.
> > >
> > > Obviously we cannot change/remove the EPYC models so the question is
> > > what is the difference between the AMD EPYC CPU and this new Dhyana CPU
> > > if they are both based on the ZEN microarchitecture?
> >
> > Right now there's no much difference between Dhyana and EPYC from the
> > software's view. Dhyana removed the instructions aes, pclmulqdq, sha_ni
> > compared to EPYC, but will have it's own implementation such as for aes in
> > future CPU models. Hygon also will implement something different from AMD in
> > the future.
> >
> > > In addition is there any way how we can introduce ZEN-Server &
> > > ZEN-Client or simply ZEN, if there is no difference, as an alias or a
> > > new model next to the EPYC?
> >
> > Also as Eduardo mentioned that there's no CPU model alias or inheritance
> > system in x86, so I think it's worthwhile to keep a separate CPU model for
> > Hygon.
>
> So what happens once Zen2 is out and there are new Dhyana CPUs based on
> the Zen2 microarchitecture with some new features, what CPU models we
> will introduce, EPYC-G2 and Dhyana-G2, but that will not correspond to
> the CPU model anymore.
>
> My idea was that we should probably introduce CPU model Zen-Server which
> could cover both EPYC and Dhyana as they are both based on the Zen
> microarchitecture. The fact that Dhyana doesn't support all the
> features is not an issue as QEMU will not use them if they are not
> available on the host.
I don't think this is a good idea. AFAICT, Dhyana and EPYC should not be
thought of as the same microarchitecture. Dhyana is a fork of the Zen
microarchitecture as illustrated by the dropping of a number of CPU
features. The Dhyana SEV patches show that it has had other significant
changes, which are likely to require extra work in QEMU to support too.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2019-04-18 8:48 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-16 12:06 [Qemu-devel] [PATCH v3] i386: Add new Hygon 'Dhyana' CPU model Pu Wen
2019-04-16 12:06 ` Pu Wen
2019-04-16 12:12 ` Daniel P. Berrangé
2019-04-16 12:12 ` Daniel P. Berrangé
2019-04-16 14:17 ` Pavel Hrdina
2019-04-16 14:17 ` Pavel Hrdina
2019-04-16 18:02 ` Eduardo Habkost
2019-04-16 18:02 ` Eduardo Habkost
2019-04-17 14:53 ` Pu Wen
2019-04-17 14:53 ` Pu Wen
2019-04-17 19:26 ` Pavel Hrdina
2019-04-17 19:26 ` Pavel Hrdina
2019-04-18 8:48 ` Daniel P. Berrangé [this message]
2019-04-18 8:48 ` Daniel P. Berrangé
2019-04-18 9:59 ` Pavel Hrdina
2019-04-18 9:59 ` Pavel Hrdina
2019-04-18 14:05 ` Eduardo Habkost
2019-04-18 14:05 ` Eduardo Habkost
2019-04-18 14:27 ` Pavel Hrdina
2019-04-18 14:27 ` Pavel Hrdina
2019-04-16 18:02 ` Eduardo Habkost
2019-04-16 18:02 ` Eduardo Habkost
2019-04-17 14:53 ` Pu Wen
2019-04-17 14:53 ` Pu Wen
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=20190418084825.GC13773@redhat.com \
--to=berrange@redhat.com \
--cc=ehabkost@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=phrdina@redhat.com \
--cc=puwen@hygon.cn \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.