Le 21/08/2017 à 19:35, Benjamin Herrenschmidt a écrit :
On Mon, 2017-08-21 at 19:27 +0200, Frederic Barrat wrote:
Hi Ben,
Le 24/07/2017 à 06:28, Benjamin Herrenschmidt a écrit :
Instead of comparing the whole CPU mask every time, let's
keep a counter of how many bits are set in the mask. Thus
testing for a local mm only requires testing if that counter
is 1 and the current CPU bit is set in the mask.
I'm trying to see if we could merge this patch with what I'm trying to
do to mark a context as requiring global TLBIs.
In http://patchwork.ozlabs.org/patch/796775/
I'm introducing a 'flags' per memory context, using one bit to say if
the context needs global TLBIs.
The 2 could co-exist, just checking... Do you think about using the
actual active_cpus count down the road, or is it just a matter of
knowing if there are more than one active cpus?
Or you could just incrementer my counter. Just make sure you increment
it at most once per CXL context and decrement when the context is gone.
Ah great, I didn't dare messing with your counter, it makes it easier.
Arguably what happens on those accelerators is pretty close to an active
cpu.
Once it is merged, I'm going to have to backport your patch (and an
update to mine) to the p9-supporting distros. From a quick look, your
patch, i.e."[PATCH 5/6] powerpc/mm: Optimize detection of thread local
mm's" is completely independent from the rest of the series, right?
Fred