* Re: [Qemu-devel] [PATCH] s390x/cpumodels: add z14 Model ZR1
2018-06-13 8:18 [Qemu-devel] [PATCH] s390x/cpumodels: add z14 Model ZR1 Christian Borntraeger
@ 2018-06-13 9:00 ` David Hildenbrand
2018-06-13 9:42 ` Christian Borntraeger
2018-06-13 9:55 ` Christian Borntraeger
2018-06-13 10:36 ` David Hildenbrand
2018-06-13 12:33 ` Cornelia Huck
2 siblings, 2 replies; 7+ messages in thread
From: David Hildenbrand @ 2018-06-13 9:00 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Thomas Huth, Halil Pasic, Janosch Frank,
Alexander Graf, Richard Henderson
On 13.06.2018 10:18, Christian Borntraeger wrote:
> introduce the new z14 Model ZR1 cpu model. Mostly identical to z14, only
> the cpu type differs (3906 vs. 3907)
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> target/s390x/cpu_models.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> index e10035aaa8..cfdbccf46d 100644
> --- a/target/s390x/cpu_models.c
> +++ b/target/s390x/cpu_models.c
> @@ -79,6 +79,7 @@ static S390CPUDef s390_cpu_defs[] = {
> CPUDEF_INIT(0x2964, 13, 2, 47, 0x08000000U, "z13.2", "IBM z13 GA2"),
> CPUDEF_INIT(0x2965, 13, 2, 47, 0x08000000U, "z13s", "IBM z13s GA1"),
> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
> + CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
> };
>
> #define QEMU_MAX_CPU_TYPE 0x2827
>
This is the first time that we have two different EC variants (different
CPU type) with the same HW gen and GA level .
Are they really completely equal (esp. the IBC value? that is used for
model detection) apart from the CPU type?
check_unavailable_features()/arch_query_cpu_model_comparison() will
treat both models as equal (meaning one can run on the other).
arch_query_cpu_model_baseline() might produce a z14ZR1-base when
baselining e.g. a z14 and a z14ZR1 (don't think this is a problem), as
s390_find_cpu_def() will always try to walk as far as possible in the
cpu model definition table.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] s390x/cpumodels: add z14 Model ZR1
2018-06-13 9:00 ` David Hildenbrand
@ 2018-06-13 9:42 ` Christian Borntraeger
2018-06-13 10:25 ` David Hildenbrand
2018-06-13 9:55 ` Christian Borntraeger
1 sibling, 1 reply; 7+ messages in thread
From: Christian Borntraeger @ 2018-06-13 9:42 UTC (permalink / raw)
To: David Hildenbrand, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Thomas Huth, Halil Pasic, Janosch Frank,
Alexander Graf, Richard Henderson
On 06/13/2018 11:00 AM, David Hildenbrand wrote:
> On 13.06.2018 10:18, Christian Borntraeger wrote:
>> introduce the new z14 Model ZR1 cpu model. Mostly identical to z14, only
>> the cpu type differs (3906 vs. 3907)
>>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> ---
>> target/s390x/cpu_models.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>> index e10035aaa8..cfdbccf46d 100644
>> --- a/target/s390x/cpu_models.c
>> +++ b/target/s390x/cpu_models.c
>> @@ -79,6 +79,7 @@ static S390CPUDef s390_cpu_defs[] = {
>> CPUDEF_INIT(0x2964, 13, 2, 47, 0x08000000U, "z13.2", "IBM z13 GA2"),
>> CPUDEF_INIT(0x2965, 13, 2, 47, 0x08000000U, "z13s", "IBM z13s GA1"),
>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>> + CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>> };
>>
>> #define QEMU_MAX_CPU_TYPE 0x2827
>>
>
> This is the first time that we have two different EC variants (different
> CPU type) with the same HW gen and GA level .
>
> Are they really completely equal (esp. the IBC value? that is used for
> model detection) apart from the CPU type?
>
> check_unavailable_features()/arch_query_cpu_model_comparison() will
> treat both models as equal (meaning one can run on the other).
>
> arch_query_cpu_model_baseline() might produce a z14ZR1-base when
> baselining e.g. a z14 and a z14ZR1 (don't think this is a problem), as
> s390_find_cpu_def() will always try to walk as far as possible in the
> cpu model definition table.
>
Yes, we can run z14ZR1 on Z14 and vice versa.
s390_find_cpu_def has this
/* stop the search if we found the exact model */
if (def->type == type && def->ec_ga == ec_ga) {
return def;
}
So we should always get the best fit, no?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] s390x/cpumodels: add z14 Model ZR1
2018-06-13 9:42 ` Christian Borntraeger
@ 2018-06-13 10:25 ` David Hildenbrand
0 siblings, 0 replies; 7+ messages in thread
From: David Hildenbrand @ 2018-06-13 10:25 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Thomas Huth, Halil Pasic, Janosch Frank,
Alexander Graf, Richard Henderson
On 13.06.2018 11:42, Christian Borntraeger wrote:
>
>
> On 06/13/2018 11:00 AM, David Hildenbrand wrote:
>> On 13.06.2018 10:18, Christian Borntraeger wrote:
>>> introduce the new z14 Model ZR1 cpu model. Mostly identical to z14, only
>>> the cpu type differs (3906 vs. 3907)
>>>
>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>> ---
>>> target/s390x/cpu_models.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>>> index e10035aaa8..cfdbccf46d 100644
>>> --- a/target/s390x/cpu_models.c
>>> +++ b/target/s390x/cpu_models.c
>>> @@ -79,6 +79,7 @@ static S390CPUDef s390_cpu_defs[] = {
>>> CPUDEF_INIT(0x2964, 13, 2, 47, 0x08000000U, "z13.2", "IBM z13 GA2"),
>>> CPUDEF_INIT(0x2965, 13, 2, 47, 0x08000000U, "z13s", "IBM z13s GA1"),
>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>>> + CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>>> };
>>>
>>> #define QEMU_MAX_CPU_TYPE 0x2827
>>>
>>
>> This is the first time that we have two different EC variants (different
>> CPU type) with the same HW gen and GA level .
>>
>> Are they really completely equal (esp. the IBC value? that is used for
>> model detection) apart from the CPU type?
>>
>> check_unavailable_features()/arch_query_cpu_model_comparison() will
>> treat both models as equal (meaning one can run on the other).
>>
>> arch_query_cpu_model_baseline() might produce a z14ZR1-base when
>> baselining e.g. a z14 and a z14ZR1 (don't think this is a problem), as
>> s390_find_cpu_def() will always try to walk as far as possible in the
>> cpu model definition table.
>>
> Yes, we can run z14ZR1 on Z14 and vice versa.
>
>
> s390_find_cpu_def has this
>
> /* stop the search if we found the exact model */
> if (def->type == type && def->ec_ga == ec_ga) {
> return def;
> }
>
> So we should always get the best fit, no?
Yes, but one could "think" that baselining a z14 against a z14RC1 would
result in the "older" (z14) machine, while we will return the z14RC1. As
said, I don't think this is a problem, just wanted to point it out!
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] s390x/cpumodels: add z14 Model ZR1
2018-06-13 9:00 ` David Hildenbrand
2018-06-13 9:42 ` Christian Borntraeger
@ 2018-06-13 9:55 ` Christian Borntraeger
1 sibling, 0 replies; 7+ messages in thread
From: Christian Borntraeger @ 2018-06-13 9:55 UTC (permalink / raw)
To: David Hildenbrand, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Thomas Huth, Halil Pasic, Janosch Frank,
Alexander Graf, Richard Henderson
On 06/13/2018 11:00 AM, David Hildenbrand wrote:
> On 13.06.2018 10:18, Christian Borntraeger wrote:
>> introduce the new z14 Model ZR1 cpu model. Mostly identical to z14, only
>> the cpu type differs (3906 vs. 3907)
>>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> ---
>> target/s390x/cpu_models.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>> index e10035aaa8..cfdbccf46d 100644
>> --- a/target/s390x/cpu_models.c
>> +++ b/target/s390x/cpu_models.c
>> @@ -79,6 +79,7 @@ static S390CPUDef s390_cpu_defs[] = {
>> CPUDEF_INIT(0x2964, 13, 2, 47, 0x08000000U, "z13.2", "IBM z13 GA2"),
>> CPUDEF_INIT(0x2965, 13, 2, 47, 0x08000000U, "z13s", "IBM z13s GA1"),
>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>> + CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>> };
>>
>> #define QEMU_MAX_CPU_TYPE 0x2827
>>
>
> This is the first time that we have two different EC variants (different
> CPU type) with the same HW gen and GA level .
>
> Are they really completely equal (esp. the IBC value? that is used for
> model detection) apart from the CPU type?
Yes, the IBC is the same.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] s390x/cpumodels: add z14 Model ZR1
2018-06-13 8:18 [Qemu-devel] [PATCH] s390x/cpumodels: add z14 Model ZR1 Christian Borntraeger
2018-06-13 9:00 ` David Hildenbrand
@ 2018-06-13 10:36 ` David Hildenbrand
2018-06-13 12:33 ` Cornelia Huck
2 siblings, 0 replies; 7+ messages in thread
From: David Hildenbrand @ 2018-06-13 10:36 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: Janosch Frank, Thomas Huth, Alexander Graf, Halil Pasic,
qemu-devel, qemu-s390x, Richard Henderson
On 13.06.2018 10:18, Christian Borntraeger wrote:
> introduce the new z14 Model ZR1 cpu model. Mostly identical to z14, only
> the cpu type differs (3906 vs. 3907)
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> target/s390x/cpu_models.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> index e10035aaa8..cfdbccf46d 100644
> --- a/target/s390x/cpu_models.c
> +++ b/target/s390x/cpu_models.c
> @@ -79,6 +79,7 @@ static S390CPUDef s390_cpu_defs[] = {
> CPUDEF_INIT(0x2964, 13, 2, 47, 0x08000000U, "z13.2", "IBM z13 GA2"),
> CPUDEF_INIT(0x2965, 13, 2, 47, 0x08000000U, "z13s", "IBM z13s GA1"),
> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
> + CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
> };
>
> #define QEMU_MAX_CPU_TYPE 0x2827
>
Reviewed-by: David Hildenbrand <david@redhat.com>
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH] s390x/cpumodels: add z14 Model ZR1
2018-06-13 8:18 [Qemu-devel] [PATCH] s390x/cpumodels: add z14 Model ZR1 Christian Borntraeger
2018-06-13 9:00 ` David Hildenbrand
2018-06-13 10:36 ` David Hildenbrand
@ 2018-06-13 12:33 ` Cornelia Huck
2 siblings, 0 replies; 7+ messages in thread
From: Cornelia Huck @ 2018-06-13 12:33 UTC (permalink / raw)
To: Christian Borntraeger
Cc: qemu-devel, qemu-s390x, Thomas Huth, David Hildenbrand,
Halil Pasic, Janosch Frank, Alexander Graf, Richard Henderson
On Wed, 13 Jun 2018 10:18:19 +0200
Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> introduce the new z14 Model ZR1 cpu model. Mostly identical to z14, only
> the cpu type differs (3906 vs. 3907)
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> target/s390x/cpu_models.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> index e10035aaa8..cfdbccf46d 100644
> --- a/target/s390x/cpu_models.c
> +++ b/target/s390x/cpu_models.c
> @@ -79,6 +79,7 @@ static S390CPUDef s390_cpu_defs[] = {
> CPUDEF_INIT(0x2964, 13, 2, 47, 0x08000000U, "z13.2", "IBM z13 GA2"),
> CPUDEF_INIT(0x2965, 13, 2, 47, 0x08000000U, "z13s", "IBM z13s GA1"),
> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
> + CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
> };
>
> #define QEMU_MAX_CPU_TYPE 0x2827
Thanks, applied.
^ permalink raw reply [flat|nested] 7+ messages in thread