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.