[PATCH] kvm: powerpc: book3s: Disable preemption while accessing paca xics_phys filed

Denis Kirjanov kirjanov at gmail.com
Wed Mar 29 20:45:13 AEDT 2017


On Wednesday, March 29, 2017, Paul Mackerras <paulus at ozlabs.org> wrote:

> On Wed, Mar 29, 2017 at 12:07:03PM +1100, Michael Ellerman wrote:
> > Denis Kirjanov <kda at linux-powerpc.org <javascript:;>> writes:
> >
> [...]
> > > @@ -3930,7 +3934,11 @@ static int kvmppc_book3s_init_hv(void)
> > >      * indirectly, via OPAL.
> > >      */
> > >  #ifdef CONFIG_SMP
> > > -   if (!get_paca()->kvm_hstate.xics_phys) {
> > > +   preempt_disable();
> > > +   xics_phys = get_paca()->kvm_hstate.xics_phys;
> > > +   preempt_enable();
> > > +
> > > +   if (!xics_phys) {
> > >             struct device_node *np;
> >
> > Can you tell me what actual problem (other than the warning) this is
> > fixing?
>
> If paca->kvm_hstate.xics_phys is non-zero on one cpu, it will be
> non-zero on them all.  Therefore this is not fixing any actual
> problem, just the warning.
>
> By the way, the #ifdefs are ugly, and could be removed.  (Yes I know
> it was me that put the first #ifdef in that function.)
>
> Paul.
>

Then we can replace get_paca with local_paca to avoid the warning, right?


-- 
Regards / Mit besten Grüßen,
Denis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20170329/0e96b36e/attachment.html>


More information about the Linuxppc-dev mailing list