Subject: Re: [RFC 2/2] cxl: Mark context requiring global TLBIs

From: Balbir Singh <[email-masked]>
Date: Thu, 04 May 2017 17:39:13 +1000

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.