Frederic Barrat <fbar...@linux.vnet.ibm.com> writes: > 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?
Currently it's just an optimisation to save comparing the full cpumask every time to detect if we can go local vs broadcast. So if you increment it then it will mean we do broadcast, which is what you need. It's possible in future we might try to do something more complicated, like send targeted IPIs etc. But if we ever do that we can adapt CXL then. cheers