Re: [PATCH] padata: use smp_mb in padata_reorder to avoid orphaned padata jobs

From: Steffen Klassert
Date: Fri Jul 12 2019 - 06:10:16 EST


On Fri, Jul 12, 2019 at 06:06:36PM +0800, Herbert Xu wrote:
> Daniel Jordan <daniel.m.jordan@xxxxxxxxxx> wrote:
> >
> > CPU0 CPU1
> >
> > padata_reorder padata_do_serial
> > LOAD reorder_objects // 0
> > INC reorder_objects // 1
> > padata_reorder
> > TRYLOCK pd->lock // failed
> > UNLOCK pd->lock
>
> I think this can't happen because CPU1 won't call padata_reorder
> at all as it's the wrong CPU so it gets pushed back onto a work
> queue which will go back to CPU0.
>
> Steffen, could you please take a look at this as there clearly
> is a problem here?

I'm currently travelling, will have a look at it when I'm back.