Re: [patch] SMP alternatives

From: Linus Torvalds
Date: Wed Nov 23 2005 - 17:13:31 EST




On Wed, 23 Nov 2005, Alan Cox wrote:
>
> On Mer, 2005-11-23 at 22:13 +0100, Andi Kleen wrote:
> > The idea was to turn LOCK on only if the process has any
> > shared writable mapping and num_online_cpus() > 0.
>
> That makes a lot of sense, and if we hit hardware that does funky stuff
> then the driver can set a 'vma needs lock' bit for the same effect.
>
> > Might be a bit costly to rewrite all the page tables for that case
> > just to change the PAT index. A bit is nicer for that.
>
> CPU insert/remove is performed how many times a second ? Or for that
> matter why not just reload the PAT register and keep the index the
> same ?

It's not about CPU insert/remove.

It's about a single-threaded process becoming multi-threaded, ie a simple
"clone()" operation (or doing a shared mmap).

So it needs to be _fast_.

I would strongly argue that it's not a TLB/PAT operation at all. It has
nothing to do with the address of the operation. It's a global bit, and
it's in the cr3 just because that's what gets reloaded on task switching.
But it could be in the CS register too, for all I care..

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/