[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v6 1/4] arm: introduce psci_smp_ops



On Fri, Apr 05, 2013 at 02:11:32PM +0100, Stefano Stabellini wrote:
> +     psci_init();
>  #ifdef CONFIG_SMP
>       if (is_smp()) {
> -             smp_set_ops(mdesc->smp);
> +             if (mdesc->smp)
> +                     smp_set_ops(mdesc->smp);
> +             else if (psci_smp_available())
> +                     smp_set_ops(&psci_smp_ops);

So, I have a vague recollection that the ordering of the above got discussed
but I can't find it amongst the 21k of messages so far this year.

The above looks weird to me.  Surely this should be:

                if (psci_smp_available())
                        smp_set_ops(&psci_smp_ops);
                else if (mdesc->smp)
                        smp_set_ops(mdesc->ops);

This means that if PSCI is available, and provides a set of operations,
we override whatever the platform has statically provided.

Remember, we're trying to move away from using "mdesc"s for platform
stuff, relying on things like DT and such like.  We really should not
be going for mdesc-overriding-newstuff but newstuff-overriding-mdesc.

Now, if the psci stuff can't be relied upon to provide the correct
functionality, then that's a separate problem which needs addressing
differently.

This should allow the Xen problem to be resolved, because Xen will
provide the PSCI operations, and it's correct in that case to override
the platform's SMP operations.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.