On Wed, Jun 28, 2000 at 10:54:40AM -0500, lord@sgi.com wrote:
> I always knew it would go down like a ton of bricks, because of the TLB
> flushing costs. As soon as you have a multi-cpu box this operation gets
> expensive, the code could be changed to do lazy tlb flushes on unmapping
> the pages, but you still have the cost every time you set a mapping up.
That's exactly what kmap() is for --- it does all the lazy tlb
flushing for you. Of course, the kmap area can get fragmented so it's
not a magic solution if you really need contiguous virtual mappings.
However, kmap caches the virtual mappings for you automatically, so it
may well be fast enough for you that you can avoid the whole
contiguous map thing and just kmap pages as you need them. Is that
impossible for your code?
Cheers,
Stephen
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/