On Wed, 2017-05-03 at 16:29 +0200, Frederic Barrat wrote: > The PSL needs to see all TLBI pertinent to the memory contexts used on > the cxl adapter. For the hash memory model, it was done by making all > TLBIs global as soon as the cxl driver is in us. For radix, we need > something similar, but we can refine and only convert to global the > invalidations for contexts actually used by the device. > > So mark the contexts being attached to the cxl adapter as requiring > global TLBIs. > <snip> > +#ifdef CONFIG_PPC_BOOK3S_64 > + if (ctx->mm) > + mm_context_set_global_tlbi(&ctx->mm->context);
Just curious and wondering Could we do mm_context_set_global_tlbi() before ->attach_process() that way we won't need atomic tests (set_bit() and test_bit())? May be a memory barrier would suffice. Not 100% sure, hence checking Balbir Singh.