diff mbox

Add mp-affinity property for ARM CPU class

Message ID 011d01d10278$3ed96260$bc8c2720$@samsung.com
State New
Headers show

Commit Message

Pavel Fedin Oct. 9, 2015, 9:52 a.m. UTC
This allows to override default affinity IDs on a per-machine basis, and
possibility to retrieve IDs will be used by vGICv3 live migration code.

Signed-off-by: Pavel Fedin <p.fedin@samsung.com>
---
Since this popped up several times on the mailing list, i decided to publish this early.
---
 target-arm/cpu.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Peter Maydell Oct. 13, 2015, 5:54 p.m. UTC | #1
On 9 October 2015 at 10:52, Pavel Fedin <p.fedin@samsung.com> wrote:
> This allows to override default affinity IDs on a per-machine basis, and
> possibility to retrieve IDs will be used by vGICv3 live migration code.
>
> Signed-off-by: Pavel Fedin <p.fedin@samsung.com>
> ---
> Since this popped up several times on the mailing list, i decided to publish this early.
> ---
>  target-arm/cpu.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/target-arm/cpu.c b/target-arm/cpu.c
> index b48da33..3ebcebe 100644
> --- a/target-arm/cpu.c
> +++ b/target-arm/cpu.c
> @@ -1379,6 +1379,7 @@ static Property arm_cpu_properties[] = {
>      DEFINE_PROP_BOOL("start-powered-off", ARMCPU, start_powered_off, false),
>      DEFINE_PROP_UINT32("psci-conduit", ARMCPU, psci_conduit, 0),
>      DEFINE_PROP_UINT32("midr", ARMCPU, midr, 0),
> +    DEFINE_PROP_UINT64("mp-affinity", ARMCPU, mp_affinity, 0),
>      DEFINE_PROP_END_OF_LIST()
>  };

Nothing wrong with this patch, but I'd rather add it as part of
the series which actually uses it. (I see you have it in one of
your GICv3 patchsets.)

thanks
-- PMM
Peter Crosthwaite Oct. 13, 2015, 8:01 p.m. UTC | #2
On Tue, Oct 13, 2015 at 10:54 AM, Peter Maydell
<peter.maydell@linaro.org> wrote:
> On 9 October 2015 at 10:52, Pavel Fedin <p.fedin@samsung.com> wrote:
>> This allows to override default affinity IDs on a per-machine basis, and
>> possibility to retrieve IDs will be used by vGICv3 live migration code.
>>
>> Signed-off-by: Pavel Fedin <p.fedin@samsung.com>
>> ---
>> Since this popped up several times on the mailing list, i decided to publish this early.
>> ---
>>  target-arm/cpu.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/target-arm/cpu.c b/target-arm/cpu.c
>> index b48da33..3ebcebe 100644
>> --- a/target-arm/cpu.c
>> +++ b/target-arm/cpu.c
>> @@ -1379,6 +1379,7 @@ static Property arm_cpu_properties[] = {
>>      DEFINE_PROP_BOOL("start-powered-off", ARMCPU, start_powered_off, false),
>>      DEFINE_PROP_UINT32("psci-conduit", ARMCPU, psci_conduit, 0),
>>      DEFINE_PROP_UINT32("midr", ARMCPU, midr, 0),
>> +    DEFINE_PROP_UINT64("mp-affinity", ARMCPU, mp_affinity, 0),

Can we have separate props for each affinity level? Are you assuming
MPIDR format for this?

Regards,
Peter

>>      DEFINE_PROP_END_OF_LIST()
>>  };
>
> Nothing wrong with this patch, but I'd rather add it as part of
> the series which actually uses it. (I see you have it in one of
> your GICv3 patchsets.)
>
> thanks
> -- PMM
>
Pavel Fedin Oct. 14, 2015, 6:48 a.m. UTC | #3
Hello!

> Can we have separate props for each affinity level?

 Yes, we can, but i don't see any use for them in this form. Except merging back into full MPIDR value. :)

> Are you assuming MPIDR format for this?

 Yes. This is convenient because everything else (KVM, GICv3, etc) also uses MPIDR format. Check out GICv3 live migration RFC v2 for one possible use case.

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia
Pavel Fedin Oct. 14, 2015, 6:52 a.m. UTC | #4
Hello!

> Nothing wrong with this patch, but I'd rather add it as part of
> the series which actually uses it.

 Ok, as you wish, i just tried to decrease amount of out-of-tree stuff. Additionally, i remember Andrew also wanted to do something with affinities, he thought about adding emulation of some HW with particular affinity layout, so he might also want it.

> (I see you have it in one of your GICv3 patchsets.)

 Yes, i decided to copy it there because some people might want to test the patchset, and they would not have to dig out this small piece.

 P.S. By the way, what about GICv3 data format? Are you going to review this part and do something with it? This would also advance Shlomo's work i think.

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia
Peter Maydell Oct. 14, 2015, 7:31 p.m. UTC | #5
On 14 October 2015 at 07:52, Pavel Fedin <p.fedin@samsung.com> wrote:
>  P.S. By the way, what about GICv3 data format? Are you going to
> review this part and do something with it? This would also advance
> Shlomo's work i think.

It's in my queue of things to look at at some point, but
so are a great many other things, so I'm prioritising
things that are going to be going into 2.5 first.

thanks
-- PMM
diff mbox

Patch

diff --git a/target-arm/cpu.c b/target-arm/cpu.c
index b48da33..3ebcebe 100644
--- a/target-arm/cpu.c
+++ b/target-arm/cpu.c
@@ -1379,6 +1379,7 @@  static Property arm_cpu_properties[] = {
     DEFINE_PROP_BOOL("start-powered-off", ARMCPU, start_powered_off, false),
     DEFINE_PROP_UINT32("psci-conduit", ARMCPU, psci_conduit, 0),
     DEFINE_PROP_UINT32("midr", ARMCPU, midr, 0),
+    DEFINE_PROP_UINT64("mp-affinity", ARMCPU, mp_affinity, 0),
     DEFINE_PROP_END_OF_LIST()
 };