From: Daniel Henrique Barboza <danielhb413@gmail.com>
To: Greg Kurz <groug@kaod.org>
Cc: Alexey Kardashevskiy <aik@ozlabs.ru>,
clg@kaod.org, qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
david@gibson.dropbear.id.au
Subject: Re: [PATCH 1/1] spapr.c: remove 'ibm,chip-id' from DT
Date: Thu, 11 Mar 2021 15:22:39 -0300 [thread overview]
Message-ID: <0bbe42b0-a17c-550c-2e0c-fa8514db355b@gmail.com> (raw)
In-Reply-To: <20210311172954.26e2b10d@bahia.lan>
On 3/11/21 1:29 PM, Greg Kurz wrote:
> On Thu, 11 Mar 2021 12:15:57 -0300
> Daniel Henrique Barboza <danielhb413@gmail.com> wrote:
>
>> The attribute 'ibm,chip-id' does not exist in PAPR. This alone would be
>> enough reason to remove it from the spapr DT, but before doing that,
>> let's give a brief context on how and why it was introduced.
>>
>> 'ibm,chip-id' was added in the spapr DT by commit 10582ff83279. This
>> commit references kernel commit 256f2d4b463d ("powerpc: Use ibm, chip-id
>> property to compute cpu_core_mask if available"). In this kernel commit,
>> the 'ibm,chip-id' DT attribute is being used to calculate the
>> cpu_core_mask in traverse_siblings_chip_id(). This function still need
>> to consider 'ibm,chip-id' not being available as well to avoid breaking
>> older guests.
>>
>> Later on, kernel commit df52f6714071 ("powerpc/smp: Rework CPU topology
>> construction") removed traverse_siblings_chip_id() and its callers,
>> making the CPU topology calculation independent of the 'ibm,chip-id'
>> attribute. Today, the kernel uses 'ibm,chip-id' for PowerNV related code
>> only - the pseries kernel does not rely on it.
>>
>
> Thanks for the archaeology ! So this means that the pseries kernel used
> to rely on it up to kernel v4.14, right ?
The pseries kernel up to 4.14 used to consider the existence of 'ibm,chip-id',
but it also had an error path for its absence as well.
>
>> All that said, since it's not in PAPR and the pseries kernel does not
>> rely on it, let's remove ibm,chip-id from the DT.
>>
>
> Even if it isn't part of PAPR, this is something that we've been
> exposing to guests with existing machine types and someone could
> have found a use for it or still using a pre-4.14 kernel, e.g.
> debian stretch still relies on 4.9.
I understand that it's generally not cool to change guest visible information.
If we want to be on the safe, I can send a v2 where this change if effective only
on pseries-6.0.0 and newer.
Thanks,
DHB
>
> In theory we should change this behavior in the default machine only.
> But in case David is okay to merge the patch anyway,
>
> Reviewed-by: Greg Kurz <groug@kaod.org>
>
>> CC: Alexey Kardashevskiy <aik@ozlabs.ru>
>> Suggested-by: Cédric Le Goater <clg@kaod.org>
>> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
>> ---
>> hw/ppc/spapr.c | 4 ----
>> 1 file changed, 4 deletions(-)
>>
>> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
>> index 85fe65f894..d2e448fd9c 100644
>> --- a/hw/ppc/spapr.c
>> +++ b/hw/ppc/spapr.c
>> @@ -657,7 +657,6 @@ static void spapr_dt_cpu(CPUState *cs, void *fdt, int offset,
>> uint32_t page_sizes_prop[64];
>> size_t page_sizes_prop_size;
>> unsigned int smp_threads = ms->smp.threads;
>> - uint32_t vcpus_per_socket = smp_threads * ms->smp.cores;
>> uint32_t pft_size_prop[] = {0, cpu_to_be32(spapr->htab_shift)};
>> int compat_smt = MIN(smp_threads, ppc_compat_max_vthreads(cpu));
>> SpaprDrc *drc;
>> @@ -744,9 +743,6 @@ static void spapr_dt_cpu(CPUState *cs, void *fdt, int offset,
>>
>> spapr_dt_pa_features(spapr, cpu, fdt, offset);
>>
>> - _FDT((fdt_setprop_cell(fdt, offset, "ibm,chip-id",
>> - cs->cpu_index / vcpus_per_socket)));
>> -
>> _FDT((fdt_setprop(fdt, offset, "ibm,pft-size",
>> pft_size_prop, sizeof(pft_size_prop))));
>>
>
next prev parent reply other threads:[~2021-03-11 18:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-11 15:15 [PATCH 1/1] spapr.c: remove 'ibm,chip-id' from DT Daniel Henrique Barboza
2021-03-11 15:42 ` Cédric Le Goater
2021-03-11 16:29 ` Greg Kurz
2021-03-11 18:22 ` Daniel Henrique Barboza [this message]
2021-03-12 1:56 ` David Gibson
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=0bbe42b0-a17c-550c-2e0c-fa8514db355b@gmail.com \
--to=danielhb413@gmail.com \
--cc=aik@ozlabs.ru \
--cc=clg@kaod.org \
--cc=david@gibson.dropbear.id.au \
--cc=groug@kaod.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/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).