[libvirt] CPU Support

Hi, I've been looking at the CPU list and although I see lots of CPU's, I cannot find 2 CPU families: * AMD Ryzen * AMD Threadripper Although EPYC has been added recently. Are there any missing details which preventing adding those CPU's to the list? Thanks

On Wed, Jul 18, 2018 at 12:41:48PM +0300, Hetz Ben Hamo wrote:
Hi,
I've been looking at the CPU list and although I see lots of CPU's, I cannot find 2 CPU families:
* AMD Ryzen * AMD Threadripper
Although EPYC has been added recently.
Are there any missing details which preventing adding those CPU's to the list?
Libvirt adds CPU models based on what QEMU supports. So from libvirt side the answer is simply that QEMU doesn't expose any models for Ryzen/Threadripper, but I'm not clear why it doesn't... For a while I thought Ryzen/Threadripper would have same feature set as EPYC, but I've seen bugs recently suggesting that is not in fact the case. So it does look like having those models exposed by QEMU might be useful. Copy'ing QEMU devel & the CPU model maintainers for opinions. 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 :|

On Wed, Jul 18, 2018 at 10:50:34AM +0100, Daniel P. Berrangé wrote:
On Wed, Jul 18, 2018 at 12:41:48PM +0300, Hetz Ben Hamo wrote:
Hi,
I've been looking at the CPU list and although I see lots of CPU's, I cannot find 2 CPU families:
* AMD Ryzen * AMD Threadripper
Although EPYC has been added recently.
Are there any missing details which preventing adding those CPU's to the list?
Libvirt adds CPU models based on what QEMU supports. So from libvirt side the answer is simply that QEMU doesn't expose any models for Ryzen/Threadripper, but I'm not clear why it doesn't...
For a while I thought Ryzen/Threadripper would have same feature set as EPYC, but I've seen bugs recently suggesting that is not in fact the case. So it does look like having those models exposed by QEMU might be useful.
Copy'ing QEMU devel & the CPU model maintainers for opinions.
I think that QEMU should figure out some pattern for naming CPU models because it's one big mess. EPYC and Ryzen are bad names for QEMU as Core/Xeon would be for Intel CPUs. It's the name of a model families and it will probably remain the same but with different microarchitecture. Better name would be similarly like for the latest Inter CPUs, Skylake-Client and Skylake-Server. Currently AMD has already two microarchitectures, Zen and Zen+ and there is third one Zen 2 planned. Zen has AMD Ryzen, AMD Ryzen Threadripper and AMD Epyc. Zen+ has AMD Ryzen, AMD Ryzen Threadripper And I bet that Zen 2 will follow the same model families. We probably cannot rename EPYC now, but before we introduce Ryzen and Threadripper let's thing about it and come up with better names, for example Zen-Client/Zen-Server Zen+-Client or something like that. Pavel

CCing the AMD people who worked on this. On Wed, Jul 18, 2018 at 12:18:45PM +0200, Pavel Hrdina wrote:
On Wed, Jul 18, 2018 at 10:50:34AM +0100, Daniel P. Berrangé wrote:
On Wed, Jul 18, 2018 at 12:41:48PM +0300, Hetz Ben Hamo wrote:
Hi,
I've been looking at the CPU list and although I see lots of CPU's, I cannot find 2 CPU families:
* AMD Ryzen * AMD Threadripper
Although EPYC has been added recently.
Are there any missing details which preventing adding those CPU's to the list?
Libvirt adds CPU models based on what QEMU supports. So from libvirt side the answer is simply that QEMU doesn't expose any models for Ryzen/Threadripper, but I'm not clear why it doesn't...
For a while I thought Ryzen/Threadripper would have same feature set as EPYC, but I've seen bugs recently suggesting that is not in fact the case. So it does look like having those models exposed by QEMU might be useful.
Copy'ing QEMU devel & the CPU model maintainers for opinions.
I think that QEMU should figure out some pattern for naming CPU models because it's one big mess. EPYC and Ryzen are bad names for QEMU as Core/Xeon would be for Intel CPUs. It's the name of a model families and it will probably remain the same but with different microarchitecture.
Better name would be similarly like for the latest Inter CPUs, Skylake-Client and Skylake-Server. Currently AMD has already two microarchitectures, Zen and Zen+ and there is third one Zen 2 planned.
Zen has AMD Ryzen, AMD Ryzen Threadripper and AMD Epyc. Zen+ has AMD Ryzen, AMD Ryzen Threadripper
And I bet that Zen 2 will follow the same model families.
We probably cannot rename EPYC now, but before we introduce Ryzen and Threadripper let's thing about it and come up with better names, for example Zen-Client/Zen-Server Zen+-Client or something like that.
Pavel
-- Eduardo

On 7/18/18 8:49 AM, Eduardo Habkost wrote:
CCing the AMD people who worked on this.
On Wed, Jul 18, 2018 at 12:18:45PM +0200, Pavel Hrdina wrote:
On Wed, Jul 18, 2018 at 10:50:34AM +0100, Daniel P. Berrangé wrote:
On Wed, Jul 18, 2018 at 12:41:48PM +0300, Hetz Ben Hamo wrote:
Hi,
I've been looking at the CPU list and although I see lots of CPU's, I cannot find 2 CPU families:
* AMD Ryzen * AMD Threadripper
Although EPYC has been added recently.
Are there any missing details which preventing adding those CPU's to the list? Libvirt adds CPU models based on what QEMU supports. So from libvirt side the answer is simply that QEMU doesn't expose any models for Ryzen/Threadripper, but I'm not clear why it doesn't...
EPYC model should work just fine on Ryzen/Threadripper. Are we seeing some issues?
For a while I thought Ryzen/Threadripper would have same feature set as EPYC, but I've seen bugs recently suggesting that is not in fact the case. So it does look like having those models exposed by QEMU might be useful.
Copy'ing QEMU devel & the CPU model maintainers for opinions. I think that QEMU should figure out some pattern for naming CPU models because it's one big mess. EPYC and Ryzen are bad names for QEMU as Core/Xeon would be for Intel CPUs. It's the name of a model families and it will probably remain the same but with different microarchitecture. Better name would be similarly like for the latest Inter CPUs, Skylake-Client and Skylake-Server. Currently AMD has already two microarchitectures, Zen and Zen+ and there is third one Zen 2 planned.
Zen has AMD Ryzen, AMD Ryzen Threadripper and AMD Epyc. Zen+ has AMD Ryzen, AMD Ryzen Threadripper
And I bet that Zen 2 will follow the same model families.
My guess is same as your :) I hope sales/marketing does not come up with different names for Soc's based Zen 2 core.
We probably cannot rename EPYC now, but before we introduce Ryzen and Threadripper let's thing about it and come up with better names, for example Zen-Client/Zen-Server Zen+-Client or something like that.
Zen-Client/Zen-Server naming convention looks better.
participants (5)
-
Brijesh Singh
-
Daniel P. Berrangé
-
Eduardo Habkost
-
Hetz Ben Hamo
-
Pavel Hrdina