[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] ARM CPU affinities
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] ARM CPU affinities |
Date: |
Mon, 28 Sep 2015 10:13:15 +0100 |
On 27 September 2015 at 22:28, Peter Crosthwaite
<address@hidden> wrote:
> Hi Peter,
>
> I am looking at this:
>
> static void arm_cpu_initfn(Object *obj)
> {
> ...
> Aff1 = cs->cpu_index / ARM_CPUS_PER_CLUSTER;
> Aff0 = cs->cpu_index % ARM_CPUS_PER_CLUSTER;
> cpu->mp_affinity = (Aff1 << ARM_AFF1_SHIFT) | Aff0;
>
>
> Should we push this up to the machine model? I am trying to fix a
> machine where Aff1 of the one and only cluster is non-zero. The kernel
> SMP support barfs when Aff1 is mismatched to whats in the DTB (CPU reg
> property).
>
> I think this modulo 8 starting from 0:0 policy might be specific to mach-virt?
Yeah, it should be a CPU property if you need it to be something
different. I think we just left it as a hardcoded thing until
somebody needed it to be different.
NB that as the comment says KVM currently imposes its own numbering
anyway -- if you care about that you need to get the kernel to
support having userspace tell it about affinity numbering.
thanks
-- PMM
Re: [Qemu-devel] ARM CPU affinities, Peter Crosthwaite, 2015/09/29