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

Paul Mackerras paulus at ozlabs.org
Wed Mar 29 20:37:47 AEDT 2017


On Wed, Mar 29, 2017 at 12:07:03PM +1100, Michael Ellerman wrote:
> Denis Kirjanov <kda at linux-powerpc.org> 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.


More information about the Linuxppc-dev mailing list