Re: io resources and cached mappings (was: [git pull] drm patchesfor 2.6.27-rc1)

From: Ingo Molnar
Date: Mon Oct 20 2008 - 08:21:23 EST



* Ingo Molnar <mingo@xxxxxxx> wrote:

> that gets ugly very fast. I think we should not use atomic kmaps but
> NR_CPUS _fixmaps_ with a per CPU array of mutexes (this is basically
> atomic kmaps but without the preemption restrictions). We could
> take/drop the mutex and statistically you'll stay on the same CPU and
> wont ever contend on that lock in practice.

peterz pointed it out that we need to be careful with the TLBs in that
case.

I think it's solvable: a small non-default special-case in switch_to()
would invlpg any pending such page. (and no two such mappings could be
held at the same time)

So as long as we dont leave the CPU we wont ever do TLB flushes, and the
flush will be local even if we do.

Ingo
--
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/